diff --git a/.eslintignore b/.eslintignore
index 48efc7e..39c3d7c 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -1,3 +1,2 @@
dist/
-test/
-tap-snapshots/
+test/input/
diff --git a/.eslintrc.json b/.eslintrc.json
index 0f88ef6..1736e1b 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -2,17 +2,17 @@
"extends": "eslint:recommended",
"parserOptions": {
"sourceType": "module",
- "ecmaVersion": 2018
+ "ecmaVersion": 2020
},
"env": {
"es6": true,
"node": true
},
"rules": {
- "semi": 2,
"no-cond-assign": 0,
- "no-process-env": 2,
"no-var": 2,
+ "comma-dangle": ["error", "never"],
+ "semi": [2, "always"],
"quotes": ["error", "double", {"allowTemplateLiterals": true}]
}
}
diff --git a/.github/eslint.json b/.github/eslint.json
new file mode 100644
index 0000000..c280fdb
--- /dev/null
+++ b/.github/eslint.json
@@ -0,0 +1,18 @@
+{
+ "problemMatcher": [
+ {
+ "owner": "eslint-compact",
+ "pattern": [
+ {
+ "regexp": "^(.+):\\sline\\s(\\d+),\\scol\\s(\\d+),\\s(Error|Warning|Info)\\s-\\s(.+)\\s\\((.+)\\)$",
+ "file": 1,
+ "line": 2,
+ "column": 3,
+ "severity": 4,
+ "message": 5,
+ "code": 6
+ }
+ ]
+ }
+ ]
+}
diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml
index a5a8b82..afef0e6 100644
--- a/.github/workflows/nodejs.yml
+++ b/.github/workflows/nodejs.yml
@@ -1,26 +1,30 @@
-name: Node CI
+# https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
-on: [push]
+name: Node.js CI
+
+on:
+ push:
+ branches: [ main ]
+ pull_request:
+ branches: [ main ]
jobs:
build:
+ runs-on: ubuntu-latest
+
strategy:
matrix:
- os: [ubuntu-latest]
- node-version: [10.x, 12.x]
-
- runs-on: ${{ matrix.os }}
+ node-version: [14.x]
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- - name: yarn install and test
- run: |
- yarn install --frozen-lockfile
- yarn test
- env:
- CI: true
+ - run: yarn --frozen-lockfile
+ - run: |
+ echo ::add-matcher::.github/eslint.json
+ yarn run eslint . --format=compact
+ - run: yarn test
diff --git a/.gitignore b/.gitignore
index 8487371..0c1f900 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,3 @@
-*.sublime-workspace
.DS_Store
-.nyc_output
dist/
-node_modules
-npm-debug.log
-.idea
+node_modules/
diff --git a/README.md b/README.md
index 2291b66..781b5ea 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,5 @@
# @observablehq/parser
-[](https://github.com/observablehq/parser/actions?workflow=Node+CI)
-
To parse a cell:
```js
@@ -423,15 +421,11 @@ Injecting a view injects both the view symbol (`viewof foo`) and the value symbo
## API Reference
-# parseCell(input[, options]) [<>](https://github.com/observablehq/parser/blob/master/src/parse.js "Source")
+# parseCell(input[, options]) [<>](https://github.com/observablehq/parser/blob/main/src/parse.js "Source")
Returns a [cell](#cell).
-# parseModule(input[, options]) [<>](https://github.com/observablehq/parser/blob/master/src/parse.js "Source")
-
-Returns a [program](#program).
-
-# peekId(input) [<>](https://github.com/observablehq/parser/blob/master/src/parse.js "Source")
+# peekId(input) [<>](https://github.com/observablehq/parser/blob/main/src/peek.js "Source")
Tries to find the ID of a cell given a snippet of its contents, and returns it as a string if found.
diff --git a/package.json b/package.json
index 2f78462..61f6faf 100644
--- a/package.json
+++ b/package.json
@@ -1,44 +1,52 @@
{
"name": "@observablehq/parser",
+ "description": "An Acorn parser for Observable JavaScript",
"version": "5.0.0",
- "license": "ISC",
- "main": "dist/parser.min.js",
- "module": "src/index.js",
"author": {
"name": "Observable, Inc.",
"url": "https://observablehq.com"
},
+ "license": "ISC",
+ "type": "module",
+ "main": "src/index.js",
+ "module": "src/index.js",
+ "jsdelivr": "dist/parser.min.js",
+ "unpkg": "dist/parser.min.js",
+ "exports": {
+ "umd": "./dist/parser.min.js",
+ "default": "./src/index.js"
+ },
"repository": {
"type": "git",
"url": "https://github.com/observablehq/parser.git"
},
+ "files": [
+ "dist/**/*.js",
+ "src/**/*.js"
+ ],
+ "engines": {
+ "node": ">=14.5.0"
+ },
"scripts": {
- "test": "eslint . && tap 'test/**/*-test.js'",
- "snapshot": "TAP_SNAPSHOT=1 tap 'test/**/*-test.js'",
+ "test": "mkdir -p test/output && mocha -r module-alias/register 'test/**/*-test.js' && eslint src test",
"prepublishOnly": "rm -rf dist && rollup -c",
"postpublish": "git push && git push --tags"
},
- "husky": {
- "hooks": {
- "pre-commit": "yarn test"
- }
+ "_moduleAliases": {
+ "@observablehq/parser": "./src/index.js"
},
"dependencies": {
- "acorn": "^7.1.1",
- "acorn-walk": "^7.0.0"
+ "acorn": "8",
+ "acorn-walk": "8"
},
"devDependencies": {
- "eslint": "^6.7.2",
- "esm": "^3.0.84",
- "rollup": "^2.26.11",
- "rollup-plugin-commonjs": "^10.1.0",
- "rollup-plugin-node-resolve": "^5.0.0",
- "rollup-plugin-terser": "^7.0.2",
- "tap": "^14.10.2",
- "husky": "^3.1.0"
+ "eslint": "8",
+ "mocha": "9",
+ "module-alias": "2",
+ "rollup": "2",
+ "rollup-plugin-terser": "7"
},
- "files": [
- "dist/**/*.js",
- "src/**/*.js"
- ]
+ "publishConfig": {
+ "access": "public"
+ }
}
diff --git a/parser.sublime-project b/parser.sublime-project
deleted file mode 100644
index 07106d7..0000000
--- a/parser.sublime-project
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "folders": [
- {
- "path": ".",
- "file_exclude_patterns": [
- "*.sublime-workspace",
- "yarn.lock"
- ],
- "folder_exclude_patterns": [
- ".esm-cache",
- ".nyc_output",
- "dist"
- ]
- }
- ],
- "build_systems": [
- {
- "name": "yarn test",
- "cmd": ["yarn", "test"],
- "file_regex": "\\((...*?):([0-9]*):([0-9]*)\\)",
- "working_dir": "$project_path"
- }
- ]
-}
diff --git a/rollup.config.js b/rollup.config.js
index 7b932f3..42a0246 100644
--- a/rollup.config.js
+++ b/rollup.config.js
@@ -1,5 +1,3 @@
-import commonjs from "rollup-plugin-commonjs";
-import node from "rollup-plugin-node-resolve";
import {terser} from "rollup-plugin-terser";
import * as meta from "./package.json";
@@ -9,8 +7,6 @@ export default [
{
input: "src/index.js",
plugins: [
- node(),
- commonjs(),
terser({
output: {preamble: copyright},
mangle: {reserved: ["RequireError"]}
diff --git a/src/index.js b/src/index.js
index 6f7912b..e73f5ae 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,2 +1,3 @@
-export {parseCell, peekId, CellParser, TemplateCellParser, parseModule, ModuleParser} from "./parse.js";
+export {parseCell, CellParser, TemplateCellParser} from "./parse.js";
+export {peekId} from "./peek.js";
export {default as walk} from "./walk.js";
diff --git a/src/parse.js b/src/parse.js
index 6f0456e..eec8f38 100644
--- a/src/parse.js
+++ b/src/parse.js
@@ -7,11 +7,6 @@ const SCOPE_FUNCTION = 2;
const SCOPE_ASYNC = 4;
const SCOPE_GENERATOR = 8;
-const STATE_START = Symbol("start");
-const STATE_MODIFIER = Symbol("modifier");
-const STATE_FUNCTION = Symbol("function");
-const STATE_NAME = Symbol("name");
-
export function parseCell(input, {tag, raw, globals, ...options} = {}) {
let cell;
// Parse empty input as JavaScript to keep ensure resulting ast
@@ -31,79 +26,9 @@ export function parseCell(input, {tag, raw, globals, ...options} = {}) {
return cell;
}
-/*
- ┌─────┐
- ┌───────────│START│─function|class
- │ └─────┘ │
-viewof|mutable|async │ ▼
- │ │ ┌────────┐ ┌─┐
- ▼ │ │FUNCTION│◀───▶│*│
- ┌────────┐ │ └────────┘ └─┘
- │MODIFIER│ │ │
- └────────┘ name name
- │ │ │
- └──name─┐ │ ▼
- ▼ │ ┌─────────────┐
- ┌────────┐ │ │FUNCTION_NAME│
- │ NAME │◀─┘ └─────────────┘
- └────────┘
- │
- =
- ▼
- ┌────────┐
- │ EQ │
- └────────┘
-*/
-
-export function peekId(input) {
- let state = STATE_START;
- let name;
- try {
- for (const token of Parser.tokenizer(input, {ecmaVersion: 11})) {
- switch (state) {
- case STATE_START:
- case STATE_MODIFIER: {
- if (token.type === tt.name) {
- if (
- state === STATE_START &&
- (token.value === "viewof" ||
- token.value === "mutable" ||
- token.value === "async")
- ) {
- state = STATE_MODIFIER;
- continue;
- }
- state = STATE_NAME;
- name = token;
- continue;
- }
- if (token.type === tt._function || token.type === tt._class) {
- state = STATE_FUNCTION;
- continue;
- }
- break;
- }
- case STATE_NAME: {
- if (token.type === tt.eq) return name.value;
- break;
- }
- case STATE_FUNCTION: {
- if (token.type === tt.star) continue;
- if (token.type === tt.name && token.end < input.length)
- return token.value;
- break;
- }
- }
- return;
- }
- } catch (ignore) {
- return;
- }
-}
-
export class CellParser extends Parser {
constructor(options, ...args) {
- super(Object.assign({ecmaVersion: 12}, options), ...args);
+ super(Object.assign({ecmaVersion: 13}, options), ...args);
}
enterScope(flags) {
if (flags & SCOPE_FUNCTION) ++this.O_function;
@@ -161,7 +86,7 @@ export class CellParser extends Parser {
} else {
node.local = node.imported;
}
- this.checkLVal(node.local, "let");
+ this.checkLValSimple(node.local, "let");
if (identifiers.has(node.local.name)) {
this.raise(node.local.start, `Identifier '${node.local.name}' has already been declared`);
}
@@ -271,8 +196,8 @@ export class CellParser extends Parser {
}
return super.checkUnreserved(node);
}
- checkLVal(expr, bindingType, checkClashes) {
- return super.checkLVal(
+ checkLValSimple(expr, bindingType, checkClashes) {
+ return super.checkLValSimple(
expr.type === "MutableExpression" ? expr.id : expr,
bindingType,
checkClashes
@@ -367,28 +292,6 @@ function readTemplateToken() {
return this.finishToken(tt.invalidTemplate, this.input.slice(this.start, this.pos));
}
-export function parseModule(input, {globals} = {}) {
- const program = ModuleParser.parse(input);
- for (const cell of program.cells) {
- parseReferences(cell, input, globals);
- parseFeatures(cell, input, globals);
- }
- return program;
-}
-
-export class ModuleParser extends CellParser {
- parseTopLevel(node) {
- if (!node.cells) node.cells = [];
- while (this.type !== tt.eof) {
- const cell = this.parseCell(this.startNode());
- cell.input = this.input;
- node.cells.push(cell);
- }
- this.next();
- return this.finishNode(node, "Program");
- }
-}
-
export class CellTagParser extends Parser {
constructor(options, ...args) {
super(Object.assign({ecmaVersion: 12}, options), ...args);
diff --git a/src/peek.js b/src/peek.js
new file mode 100644
index 0000000..f1f06de
--- /dev/null
+++ b/src/peek.js
@@ -0,0 +1,76 @@
+import {tokTypes as tt, Parser} from "acorn";
+
+const STATE_START = Symbol("start");
+const STATE_MODIFIER = Symbol("modifier");
+const STATE_FUNCTION = Symbol("function");
+const STATE_NAME = Symbol("name");
+
+/*
+ ┌─────┐
+ ┌───────────│START│─function|class
+ │ └─────┘ │
+viewof|mutable|async │ ▼
+ │ │ ┌────────┐ ┌─┐
+ ▼ │ │FUNCTION│◀───▶│*│
+ ┌────────┐ │ └────────┘ └─┘
+ │MODIFIER│ │ │
+ └────────┘ name name
+ │ │ │
+ └──name─┐ │ ▼
+ ▼ │ ┌─────────────┐
+ ┌────────┐ │ │FUNCTION_NAME│
+ │ NAME │◀─┘ └─────────────┘
+ └────────┘
+ │
+ =
+ ▼
+ ┌────────┐
+ │ EQ │
+ └────────┘
+*/
+
+export function peekId(input) {
+ let state = STATE_START;
+ let name;
+ try {
+ for (const token of Parser.tokenizer(input, {ecmaVersion: 11})) {
+ switch (state) {
+ case STATE_START:
+ case STATE_MODIFIER: {
+ if (token.type === tt.name) {
+ if (
+ state === STATE_START &&
+ (token.value === "viewof" ||
+ token.value === "mutable" ||
+ token.value === "async")
+ ) {
+ state = STATE_MODIFIER;
+ continue;
+ }
+ state = STATE_NAME;
+ name = token;
+ continue;
+ }
+ if (token.type === tt._function || token.type === tt._class) {
+ state = STATE_FUNCTION;
+ continue;
+ }
+ break;
+ }
+ case STATE_NAME: {
+ if (token.type === tt.eq) return name.value;
+ break;
+ }
+ case STATE_FUNCTION: {
+ if (token.type === tt.star) continue;
+ if (token.type === tt.name && token.end < input.length)
+ return token.value;
+ break;
+ }
+ }
+ return;
+ }
+ } catch (ignore) {
+ return;
+ }
+}
diff --git a/tap-snapshots/test-parse-test.js-TAP.test.js b/tap-snapshots/test-parse-test.js-TAP.test.js
deleted file mode 100644
index 26ca61e..0000000
--- a/tap-snapshots/test-parse-test.js-TAP.test.js
+++ /dev/null
@@ -1,7816 +0,0 @@
-/* IMPORTANT
- * This snapshot file is auto-generated, but designed for humans.
- * It should be checked into source control and tracked carefully.
- * Re-generate by setting TAP_SNAPSHOT=1 and running tests.
- * Make sure to inspect the output below. Do not ignore changes!
- */
-'use strict'
-exports[`test/parse-test.js TAP parse anonymous-block-cell.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "argument": Node {
- "end": 13,
- "raw": "42",
- "start": 11,
- "type": "Literal",
- "value": 42,
- },
- "end": 14,
- "start": 4,
- "type": "ReturnStatement",
- },
- ],
- "end": 16,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 17,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse anonymous-expression-cell.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 2,
- "raw": "42",
- "start": 0,
- "type": "Literal",
- "value": 42,
- },
- "databaseClients": Map {},
- "end": 3,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse anonymous-function.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "argument": Node {
- "end": 22,
- "raw": "42",
- "start": 20,
- "type": "Literal",
- "value": 42,
- },
- "end": 23,
- "start": 13,
- "type": "ReturnStatement",
- },
- ],
- "end": 25,
- "start": 11,
- "type": "BlockStatement",
- },
- "end": 25,
- "expression": false,
- "generator": false,
- "id": null,
- "params": Array [],
- "start": 0,
- "type": "FunctionExpression",
- },
- "databaseClients": Map {},
- "end": 26,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse arguments-name.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 0,
- "line": 1,
- },
- "message": "Identifier 'arguments' is reserved (1:0)",
- "pos": 0,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse await-block-cell.js > must match snapshot 1`] = `
-Node {
- "async": true,
- "body": Node {
- "body": Array [
- Node {
- "end": 18,
- "expression": Node {
- "argument": Node {
- "end": 17,
- "name": "promise",
- "start": 10,
- "type": "Identifier",
- },
- "end": 17,
- "start": 4,
- "type": "AwaitExpression",
- },
- "start": 4,
- "type": "ExpressionStatement",
- },
- ],
- "end": 20,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 21,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 17,
- "name": "promise",
- "start": 10,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse await-in-arrow-function-expression.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "async": true,
- "body": Node {
- "body": Array [
- Node {
- "end": 30,
- "expression": Node {
- "argument": Node {
- "end": 29,
- "name": "promise",
- "start": 22,
- "type": "Identifier",
- },
- "end": 29,
- "start": 16,
- "type": "AwaitExpression",
- },
- "start": 16,
- "type": "ExpressionStatement",
- },
- ],
- "end": 32,
- "start": 12,
- "type": "BlockStatement",
- },
- "end": 32,
- "expression": false,
- "generator": false,
- "id": null,
- "params": Array [],
- "start": 0,
- "type": "ArrowFunctionExpression",
- },
- "databaseClients": Map {},
- "end": 33,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 29,
- "name": "promise",
- "start": 22,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse await-in-arrow-function.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "declarations": Array [
- Node {
- "end": 54,
- "id": Node {
- "end": 15,
- "name": "inner",
- "start": 10,
- "type": "Identifier",
- },
- "init": Node {
- "async": true,
- "body": Node {
- "body": Array [
- Node {
- "end": 50,
- "expression": Node {
- "argument": Node {
- "end": 49,
- "name": "promise",
- "start": 42,
- "type": "Identifier",
- },
- "end": 49,
- "start": 36,
- "type": "AwaitExpression",
- },
- "start": 36,
- "type": "ExpressionStatement",
- },
- ],
- "end": 54,
- "start": 30,
- "type": "BlockStatement",
- },
- "end": 54,
- "expression": false,
- "generator": false,
- "id": null,
- "params": Array [],
- "start": 18,
- "type": "ArrowFunctionExpression",
- },
- "start": 10,
- "type": "VariableDeclarator",
- },
- ],
- "end": 55,
- "kind": "const",
- "start": 4,
- "type": "VariableDeclaration",
- },
- ],
- "end": 57,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 58,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 49,
- "name": "promise",
- "start": 42,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse await-in-class.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "body": Node {
- "body": Array [
- Node {
- "computed": false,
- "end": 65,
- "key": Node {
- "end": 34,
- "name": "method",
- "start": 28,
- "type": "Identifier",
- },
- "kind": "method",
- "start": 22,
- "static": false,
- "type": "MethodDefinition",
- "value": Node {
- "async": true,
- "body": Node {
- "body": Array [
- Node {
- "end": 59,
- "expression": Node {
- "argument": Node {
- "end": 58,
- "name": "promise",
- "start": 51,
- "type": "Identifier",
- },
- "end": 58,
- "start": 45,
- "type": "AwaitExpression",
- },
- "start": 45,
- "type": "ExpressionStatement",
- },
- ],
- "end": 65,
- "start": 37,
- "type": "BlockStatement",
- },
- "end": 65,
- "expression": false,
- "generator": false,
- "id": null,
- "params": Array [],
- "start": 34,
- "type": "FunctionExpression",
- },
- },
- ],
- "end": 69,
- "start": 16,
- "type": "ClassBody",
- },
- "end": 69,
- "id": Node {
- "end": 15,
- "name": "Inner",
- "start": 10,
- "type": "Identifier",
- },
- "start": 4,
- "superClass": null,
- "type": "ClassDeclaration",
- },
- ],
- "end": 71,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 72,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 58,
- "name": "promise",
- "start": 51,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse await-in-function.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "async": true,
- "body": Node {
- "body": Array [
- Node {
- "end": 47,
- "expression": Node {
- "argument": Node {
- "end": 46,
- "name": "promise",
- "start": 39,
- "type": "Identifier",
- },
- "end": 46,
- "start": 33,
- "type": "AwaitExpression",
- },
- "start": 33,
- "type": "ExpressionStatement",
- },
- ],
- "end": 51,
- "start": 27,
- "type": "BlockStatement",
- },
- "end": 51,
- "expression": false,
- "generator": false,
- "id": Node {
- "end": 24,
- "name": "inner",
- "start": 19,
- "type": "Identifier",
- },
- "params": Array [],
- "start": 4,
- "type": "FunctionDeclaration",
- },
- ],
- "end": 53,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 54,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 46,
- "name": "promise",
- "start": 39,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse await-in-markdown.md > must match snapshot 1`] = `
-Node {
- "async": true,
- "body": Node {
- "end": 30,
- "expressions": Array [
- Node {
- "argument": Node {
- "arguments": Array [],
- "callee": Node {
- "end": 24,
- "name": "importantValue",
- "start": 10,
- "type": "Identifier",
- },
- "end": 26,
- "optional": false,
- "start": 10,
- "type": "CallExpression",
- },
- "end": 26,
- "start": 4,
- "type": "AwaitExpression",
- },
- ],
- "quasis": Array [
- Node {
- "end": 2,
- "start": 0,
- "tail": false,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "**",
- },
- },
- Node {
- "end": 30,
- "start": 27,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "**\\n",
- },
- },
- ],
- "start": 0,
- "type": "TemplateLiteral",
- },
- "databaseClients": Map {},
- "end": 30,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "raw": false,
- "references": Array [
- Node {
- "end": 24,
- "name": "importantValue",
- "start": 10,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "tag": Node {
- "async": false,
- "body": Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- "databaseClients": Map {},
- "end": 2,
- "fileAttachments": Map {},
- "generator": false,
- "input": "md",
- "references": Array [
- Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "CellTag",
- },
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse await-yield.js > must match snapshot 1`] = `
-Node {
- "async": true,
- "body": Node {
- "body": Array [
- Node {
- "end": 18,
- "expression": Node {
- "argument": Node {
- "end": 17,
- "name": "promise",
- "start": 10,
- "type": "Identifier",
- },
- "end": 17,
- "start": 4,
- "type": "AwaitExpression",
- },
- "start": 4,
- "type": "ExpressionStatement",
- },
- Node {
- "end": 33,
- "expression": Node {
- "argument": Node {
- "end": 32,
- "name": "value",
- "start": 27,
- "type": "Identifier",
- },
- "delegate": false,
- "end": 32,
- "start": 21,
- "type": "YieldExpression",
- },
- "start": 21,
- "type": "ExpressionStatement",
- },
- ],
- "end": 35,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 36,
- "fileAttachments": Map {},
- "generator": true,
- "id": null,
- "references": Array [
- Node {
- "end": 17,
- "name": "promise",
- "start": 10,
- "type": "Identifier",
- },
- Node {
- "end": 32,
- "name": "value",
- "start": 27,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse backslash-after-dollar-markdown.md > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 8,
- "expressions": Array [],
- "quasis": Array [
- Node {
- "end": 8,
- "start": 0,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "$\\\\{foo}\\n",
- },
- },
- ],
- "start": 0,
- "type": "TemplateLiteral",
- },
- "databaseClients": Map {},
- "end": 8,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "raw": false,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "tag": Node {
- "async": false,
- "body": Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- "databaseClients": Map {},
- "end": 2,
- "fileAttachments": Map {},
- "generator": false,
- "input": "md",
- "references": Array [
- Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "CellTag",
- },
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse backslash-before-dollar-markdown.md > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 8,
- "expressions": Array [],
- "quasis": Array [
- Node {
- "end": 8,
- "start": 0,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "\\\\\${foo}\\n",
- },
- },
- ],
- "start": 0,
- "type": "TemplateLiteral",
- },
- "databaseClients": Map {},
- "end": 8,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "raw": false,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "tag": Node {
- "async": false,
- "body": Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- "databaseClients": Map {},
- "end": 2,
- "fileAttachments": Map {},
- "generator": false,
- "input": "md",
- "references": Array [
- Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "CellTag",
- },
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse backslash-markdown.md > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 27,
- "expressions": Array [],
- "quasis": Array [
- Node {
- "end": 27,
- "start": 0,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "\\\\Slash before, slash after\\\\",
- },
- },
- ],
- "start": 0,
- "type": "TemplateLiteral",
- },
- "databaseClients": Map {},
- "end": 27,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "raw": false,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "tag": Node {
- "async": false,
- "body": Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- "databaseClients": Map {},
- "end": 2,
- "fileAttachments": Map {},
- "generator": false,
- "input": "md",
- "references": Array [
- Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "CellTag",
- },
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse bare-dynamic-import.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 13,
- "source": Node {
- "end": 12,
- "raw": "\\"bar\\"",
- "start": 7,
- "type": "Literal",
- "value": "bar",
- },
- "start": 0,
- "type": "ImportExpression",
- },
- "databaseClients": Map {},
- "end": 14,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse basic.html > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 19,
- "expressions": Array [
- Node {
- "end": 12,
- "name": "hello",
- "start": 7,
- "type": "Identifier",
- },
- ],
- "quasis": Array [
- Node {
- "end": 5,
- "start": 0,
- "tail": false,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "
",
- },
- },
- Node {
- "end": 19,
- "start": 13,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "
",
- },
- },
- ],
- "start": 0,
- "type": "TemplateLiteral",
- },
- "databaseClients": Map {},
- "end": 19,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "raw": false,
- "references": Array [
- Node {
- "end": 12,
- "name": "hello",
- "start": 7,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "tag": Node {
- "async": false,
- "body": Node {
- "computed": false,
- "end": 8,
- "object": Node {
- "end": 3,
- "name": "htl",
- "start": 0,
- "type": "Identifier",
- },
- "optional": false,
- "property": Node {
- "end": 8,
- "name": "html",
- "start": 4,
- "type": "Identifier",
- },
- "start": 0,
- "type": "MemberExpression",
- },
- "databaseClients": Map {},
- "end": 8,
- "fileAttachments": Map {},
- "generator": false,
- "input": "htl.html",
- "references": Array [
- Node {
- "end": 3,
- "name": "htl",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "CellTag",
- },
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse basic.tex > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 33,
- "expressions": Array [
- Node {
- "end": 11,
- "name": "numerator",
- "start": 2,
- "type": "Identifier",
- },
- Node {
- "end": 32,
- "name": "denominator",
- "start": 21,
- "type": "Identifier",
- },
- ],
- "quasis": Array [
- Node {
- "end": 0,
- "start": 0,
- "tail": false,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "",
- },
- },
- Node {
- "end": 19,
- "start": 12,
- "tail": false,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": " \\\\over ",
- },
- },
- Node {
- "end": 33,
- "start": 33,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": undefined,
- "raw": "",
- },
- },
- ],
- "start": 0,
- "type": "TemplateLiteral",
- },
- "databaseClients": Map {},
- "end": 33,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "raw": true,
- "references": Array [
- Node {
- "end": 11,
- "name": "numerator",
- "start": 2,
- "type": "Identifier",
- },
- Node {
- "end": 32,
- "name": "denominator",
- "start": 21,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "tag": Node {
- "async": false,
- "body": Node {
- "computed": false,
- "end": 9,
- "object": Node {
- "end": 3,
- "name": "tex",
- "start": 0,
- "type": "Identifier",
- },
- "optional": false,
- "property": Node {
- "end": 9,
- "name": "block",
- "start": 4,
- "type": "Identifier",
- },
- "start": 0,
- "type": "MemberExpression",
- },
- "databaseClients": Map {},
- "end": 9,
- "fileAttachments": Map {},
- "generator": false,
- "input": "tex.block",
- "references": Array [
- Node {
- "end": 3,
- "name": "tex",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "CellTag",
- },
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse bigint-zero.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "bigint": "0",
- "end": 2,
- "raw": "0n",
- "start": 0,
- "type": "Literal",
- "value": 0,
- },
- "databaseClients": Map {},
- "end": 3,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse bigint.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 9,
- "left": Node {
- "end": 3,
- "name": "foo",
- "start": 0,
- "type": "Identifier",
- },
- "operator": "+",
- "right": Node {
- "bigint": "42",
- "end": 9,
- "raw": "42n",
- "start": 6,
- "type": "Literal",
- "value": 42,
- },
- "start": 0,
- "type": "BinaryExpression",
- },
- "databaseClients": Map {},
- "end": 10,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 3,
- "name": "foo",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse binary-expression.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 8,
- "left": Node {
- "end": 3,
- "name": "foo",
- "start": 0,
- "type": "Identifier",
- },
- "operator": "+",
- "right": Node {
- "end": 8,
- "raw": "42",
- "start": 6,
- "type": "Literal",
- "value": 42,
- },
- "start": 0,
- "type": "BinaryExpression",
- },
- "databaseClients": Map {},
- "end": 9,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 3,
- "name": "foo",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse block-leading-comment.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "argument": Node {
- "end": 40,
- "raw": "42",
- "start": 38,
- "type": "Literal",
- "value": 42,
- },
- "end": 41,
- "start": 31,
- "type": "ReturnStatement",
- },
- ],
- "end": 43,
- "start": 27,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 44,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 24,
- "name": "foo",
- "start": 21,
- "type": "Identifier",
- },
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse block-trailing-comment.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "argument": Node {
- "end": 19,
- "raw": "42",
- "start": 17,
- "type": "Literal",
- "value": 42,
- },
- "end": 20,
- "start": 10,
- "type": "ReturnStatement",
- },
- ],
- "end": 22,
- "start": 6,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 42,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 3,
- "name": "foo",
- "start": 0,
- "type": "Identifier",
- },
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse catch-clause.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "block": Node {
- "body": Array [
- Node {
- "declarations": Array [
- Node {
- "end": 25,
- "id": Node {
- "elements": Array [
- Node {
- "end": 20,
- "name": "x",
- "start": 19,
- "type": "Identifier",
- },
- ],
- "end": 21,
- "start": 18,
- "type": "ArrayPattern",
- },
- "init": Node {
- "end": 25,
- "name": "y",
- "start": 24,
- "type": "Identifier",
- },
- "start": 18,
- "type": "VariableDeclarator",
- },
- ],
- "end": 26,
- "kind": "let",
- "start": 14,
- "type": "VariableDeclaration",
- },
- Node {
- "end": 35,
- "expression": Node {
- "argument": Node {
- "end": 32,
- "name": "x",
- "start": 31,
- "type": "Identifier",
- },
- "end": 34,
- "operator": "++",
- "prefix": false,
- "start": 31,
- "type": "UpdateExpression",
- },
- "start": 31,
- "type": "ExpressionStatement",
- },
- Node {
- "argument": Node {
- "end": 48,
- "name": "x",
- "start": 47,
- "type": "Identifier",
- },
- "end": 49,
- "start": 40,
- "type": "ReturnStatement",
- },
- ],
- "end": 53,
- "start": 8,
- "type": "BlockStatement",
- },
- "end": 83,
- "finalizer": null,
- "handler": Node {
- "body": Node {
- "body": Array [
- Node {
- "argument": Node {
- "end": 78,
- "name": "e",
- "start": 77,
- "type": "Identifier",
- },
- "end": 79,
- "start": 70,
- "type": "ReturnStatement",
- },
- ],
- "end": 83,
- "start": 64,
- "type": "BlockStatement",
- },
- "end": 83,
- "param": Node {
- "end": 62,
- "name": "e",
- "start": 61,
- "type": "Identifier",
- },
- "start": 54,
- "type": "CatchClause",
- },
- "start": 4,
- "type": "TryStatement",
- },
- ],
- "end": 85,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 86,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 25,
- "name": "y",
- "start": 24,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse comma-then-comment.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 0,
- "line": 2,
- },
- "message": "Unexpected end of input (2:0)",
- "pos": 30,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse comment.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": null,
- "databaseClients": Map {},
- "end": 19,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse computed-property-name.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "async": false,
- "body": Node {
- "end": 27,
- "name": "value",
- "start": 22,
- "type": "Identifier",
- },
- "end": 27,
- "expression": true,
- "generator": false,
- "id": null,
- "params": Array [
- Node {
- "end": 17,
- "properties": Array [
- Node {
- "computed": true,
- "end": 16,
- "key": Node {
- "end": 8,
- "name": "field",
- "start": 3,
- "type": "Identifier",
- },
- "kind": "init",
- "method": false,
- "shorthand": false,
- "start": 2,
- "type": "Property",
- "value": Node {
- "end": 16,
- "name": "value",
- "start": 11,
- "type": "Identifier",
- },
- },
- ],
- "start": 1,
- "type": "ObjectPattern",
- },
- ],
- "start": 0,
- "type": "ArrowFunctionExpression",
- },
- "databaseClients": Map {},
- "end": 28,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 8,
- "name": "field",
- "start": 3,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse database-client.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "declarations": Array [
- Node {
- "end": 31,
- "id": Node {
- "end": 9,
- "name": "a",
- "start": 8,
- "type": "Identifier",
- },
- "init": Node {
- "arguments": Array [
- Node {
- "end": 30,
- "raw": "\\"a\\"",
- "start": 27,
- "type": "Literal",
- "value": "a",
- },
- ],
- "callee": Node {
- "end": 26,
- "name": "DatabaseClient",
- "start": 12,
- "type": "Identifier",
- },
- "end": 31,
- "optional": false,
- "start": 12,
- "type": "CallExpression",
- },
- "start": 8,
- "type": "VariableDeclarator",
- },
- ],
- "end": 32,
- "kind": "let",
- "start": 4,
- "type": "VariableDeclaration",
- },
- ],
- "end": 34,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {
- "a" => Array [
- Object {
- "end": 30,
- "start": 27,
- },
- ],
- },
- "end": 35,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 26,
- "name": "DatabaseClient",
- "start": 12,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse destructured-array-assignment.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 4,
- "line": 2,
- },
- "message": "Assignment to constant variable md (2:4)",
- "pos": 6,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse destructured-array-rest-assignment.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 9,
- "line": 2,
- },
- "message": "Assignment to constant variable md (2:9)",
- "pos": 11,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse destructured-arrow-with-default.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "async": false,
- "body": Node {
- "body": Array [],
- "end": 31,
- "start": 29,
- "type": "BlockStatement",
- },
- "end": 31,
- "expression": false,
- "generator": false,
- "id": null,
- "params": Array [
- Node {
- "end": 24,
- "properties": Array [
- Node {
- "computed": false,
- "end": 23,
- "key": Node {
- "end": 11,
- "name": "foo",
- "start": 8,
- "type": "Identifier",
- },
- "kind": "init",
- "method": false,
- "shorthand": true,
- "start": 8,
- "type": "Property",
- "value": Node {
- "end": 23,
- "left": Node {
- "end": 11,
- "name": "foo",
- "start": 8,
- "type": "Identifier",
- },
- "right": Node {
- "end": 23,
- "raw": "\\"default\\"",
- "start": 14,
- "type": "Literal",
- "value": "default",
- },
- "start": 8,
- "type": "AssignmentPattern",
- },
- },
- ],
- "start": 7,
- "type": "ObjectPattern",
- },
- ],
- "start": 6,
- "type": "ArrowFunctionExpression",
- },
- "databaseClients": Map {},
- "end": 32,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 3,
- "name": "fun",
- "start": 0,
- "type": "Identifier",
- },
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse destructured-assignment-with-default-assignment.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 18,
- "line": 3,
- },
- "message": "Assignment to constant variable md (3:18)",
- "pos": 33,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse destructured-assignment-with-default.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "declarations": Array [
- Node {
- "end": 13,
- "id": Node {
- "end": 13,
- "name": "value",
- "start": 8,
- "type": "Identifier",
- },
- "init": null,
- "start": 8,
- "type": "VariableDeclarator",
- },
- ],
- "end": 14,
- "kind": "let",
- "start": 4,
- "type": "VariableDeclaration",
- },
- Node {
- "end": 42,
- "expression": Node {
- "end": 40,
- "left": Node {
- "end": 35,
- "properties": Array [
- Node {
- "computed": false,
- "end": 34,
- "key": Node {
- "end": 22,
- "name": "foo",
- "start": 19,
- "type": "Identifier",
- },
- "kind": "init",
- "method": false,
- "shorthand": false,
- "start": 19,
- "type": "Property",
- "value": Node {
- "end": 34,
- "left": Node {
- "end": 29,
- "name": "value",
- "start": 24,
- "type": "Identifier",
- },
- "right": Node {
- "end": 34,
- "name": "md",
- "start": 32,
- "type": "Identifier",
- },
- "start": 24,
- "type": "AssignmentPattern",
- },
- },
- ],
- "start": 18,
- "type": "ObjectPattern",
- },
- "operator": "=",
- "right": Node {
- "end": 40,
- "properties": Array [],
- "start": 38,
- "type": "ObjectExpression",
- },
- "start": 18,
- "type": "AssignmentExpression",
- },
- "start": 17,
- "type": "ExpressionStatement",
- },
- ],
- "end": 44,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 45,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 34,
- "name": "md",
- "start": 32,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse destructured-object-assignment.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 4,
- "line": 2,
- },
- "message": "Assignment to constant variable md (2:4)",
- "pos": 6,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse destructured-object-rest-assignment.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 7,
- "line": 2,
- },
- "message": "Assignment to constant variable md (2:7)",
- "pos": 9,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse destructured-object-with-default.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "async": false,
- "body": Node {
- "body": Array [],
- "end": 34,
- "start": 32,
- "type": "BlockStatement",
- },
- "end": 34,
- "expression": false,
- "generator": false,
- "id": Node {
- "end": 12,
- "name": "fun",
- "start": 9,
- "type": "Identifier",
- },
- "params": Array [
- Node {
- "end": 30,
- "properties": Array [
- Node {
- "computed": false,
- "end": 29,
- "key": Node {
- "end": 17,
- "name": "foo",
- "start": 14,
- "type": "Identifier",
- },
- "kind": "init",
- "method": false,
- "shorthand": true,
- "start": 14,
- "type": "Property",
- "value": Node {
- "end": 29,
- "left": Node {
- "end": 17,
- "name": "foo",
- "start": 14,
- "type": "Identifier",
- },
- "right": Node {
- "end": 29,
- "raw": "\\"default\\"",
- "start": 20,
- "type": "Literal",
- "value": "default",
- },
- "start": 14,
- "type": "AssignmentPattern",
- },
- },
- ],
- "start": 13,
- "type": "ObjectPattern",
- },
- ],
- "start": 0,
- "type": "FunctionExpression",
- },
- "databaseClients": Map {},
- "end": 35,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 12,
- "name": "fun",
- "start": 9,
- "type": "Identifier",
- },
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse dynamic-import.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 19,
- "source": Node {
- "end": 18,
- "raw": "\\"bar\\"",
- "start": 13,
- "type": "Literal",
- "value": "bar",
- },
- "start": 6,
- "type": "ImportExpression",
- },
- "databaseClients": Map {},
- "end": 20,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 3,
- "name": "foo",
- "start": 0,
- "type": "Identifier",
- },
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse empty.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": null,
- "databaseClients": Map {},
- "end": 0,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse empty.md > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": null,
- "databaseClients": Map {},
- "end": 0,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse expression-extra.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 4,
- "line": 1,
- },
- "message": "Unexpected token (1:4)",
- "pos": 4,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse expression-trailing-comment.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 8,
- "raw": "42",
- "start": 6,
- "type": "Literal",
- "value": 42,
- },
- "databaseClients": Map {},
- "end": 28,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 3,
- "name": "foo",
- "start": 0,
- "type": "Identifier",
- },
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse extra-semicolon.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 8,
- "raw": "42",
- "start": 6,
- "type": "Literal",
- "value": 42,
- },
- "databaseClients": Map {},
- "end": 10,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 3,
- "name": "foo",
- "start": 0,
- "type": "Identifier",
- },
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse file-attachment-forbidden-1.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 4,
- "line": 1,
- },
- "message": "FileAttachment requires a single literal string argument (1:4)",
- "pos": 4,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse file-attachment-forbidden.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 4,
- "line": 1,
- },
- "message": "FileAttachment requires a single literal string argument (1:4)",
- "pos": 4,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse file-attachment-masked.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "declarations": Array [
- Node {
- "end": 40,
- "id": Node {
- "end": 22,
- "name": "FileAttachment",
- "start": 8,
- "type": "Identifier",
- },
- "init": Node {
- "async": false,
- "body": Node {
- "end": 40,
- "left": Node {
- "end": 36,
- "name": "a",
- "start": 35,
- "type": "Identifier",
- },
- "operator": "+",
- "right": Node {
- "end": 40,
- "name": "b",
- "start": 39,
- "type": "Identifier",
- },
- "start": 35,
- "type": "BinaryExpression",
- },
- "end": 40,
- "expression": true,
- "generator": false,
- "id": null,
- "params": Array [
- Node {
- "end": 27,
- "name": "a",
- "start": 26,
- "type": "Identifier",
- },
- Node {
- "end": 30,
- "name": "b",
- "start": 29,
- "type": "Identifier",
- },
- ],
- "start": 25,
- "type": "ArrowFunctionExpression",
- },
- "start": 8,
- "type": "VariableDeclarator",
- },
- ],
- "end": 41,
- "kind": "let",
- "start": 4,
- "type": "VariableDeclaration",
- },
- Node {
- "argument": Node {
- "arguments": Array [
- Node {
- "end": 67,
- "raw": "1",
- "start": 66,
- "type": "Literal",
- "value": 1,
- },
- Node {
- "end": 70,
- "raw": "2",
- "start": 69,
- "type": "Literal",
- "value": 2,
- },
- ],
- "callee": Node {
- "end": 65,
- "name": "FileAttachment",
- "start": 51,
- "type": "Identifier",
- },
- "end": 71,
- "optional": false,
- "start": 51,
- "type": "CallExpression",
- },
- "end": 72,
- "start": 44,
- "type": "ReturnStatement",
- },
- ],
- "end": 74,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 75,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse file-attachment-nested.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "body": Node {
- "body": Array [
- Node {
- "declarations": Array [
- Node {
- "end": 49,
- "id": Node {
- "end": 49,
- "name": "b",
- "start": 48,
- "type": "Identifier",
- },
- "init": null,
- "start": 48,
- "type": "VariableDeclarator",
- },
- Node {
- "end": 52,
- "id": Node {
- "end": 52,
- "name": "c",
- "start": 51,
- "type": "Identifier",
- },
- "init": null,
- "start": 51,
- "type": "VariableDeclarator",
- },
- ],
- "end": 53,
- "kind": "let",
- "start": 44,
- "type": "VariableDeclaration",
- },
- Node {
- "declarations": Array [
- Node {
- "end": 87,
- "id": Node {
- "end": 65,
- "name": "a",
- "start": 64,
- "type": "Identifier",
- },
- "init": Node {
- "arguments": Array [
- Node {
- "end": 86,
- "raw": "\\"a\\"",
- "start": 83,
- "type": "Literal",
- "value": "a",
- },
- ],
- "callee": Node {
- "end": 82,
- "name": "FileAttachment",
- "start": 68,
- "type": "Identifier",
- },
- "end": 87,
- "optional": false,
- "start": 68,
- "type": "CallExpression",
- },
- "start": 64,
- "type": "VariableDeclarator",
- },
- ],
- "end": 88,
- "kind": "const",
- "start": 58,
- "type": "VariableDeclaration",
- },
- Node {
- "alternate": null,
- "consequent": Node {
- "body": Array [
- Node {
- "end": 173,
- "expression": Node {
- "end": 172,
- "left": Node {
- "end": 117,
- "name": "b",
- "start": 116,
- "type": "Identifier",
- },
- "operator": "=",
- "right": Node {
- "alternate": Node {
- "arguments": Array [
- Node {
- "end": 171,
- "raw": "'b'",
- "start": 168,
- "type": "Literal",
- "value": "b",
- },
- ],
- "callee": Node {
- "end": 167,
- "name": "FileAttachment",
- "start": 153,
- "type": "Identifier",
- },
- "end": 172,
- "optional": false,
- "start": 153,
- "type": "CallExpression",
- },
- "consequent": Node {
- "end": 150,
- "name": "defaultFileValue",
- "start": 134,
- "type": "Identifier",
- },
- "end": 172,
- "start": 120,
- "test": Node {
- "end": 131,
- "name": "defaultFile",
- "start": 120,
- "type": "Identifier",
- },
- "type": "ConditionalExpression",
- },
- "start": 116,
- "type": "AssignmentExpression",
- },
- "start": 116,
- "type": "ExpressionStatement",
- },
- Node {
- "end": 204,
- "expression": Node {
- "end": 203,
- "left": Node {
- "end": 181,
- "name": "c",
- "start": 180,
- "type": "Identifier",
- },
- "operator": "=",
- "right": Node {
- "arguments": Array [
- Node {
- "end": 202,
- "expressions": Array [],
- "quasis": Array [
- Node {
- "end": 201,
- "start": 200,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": "c",
- "raw": "c",
- },
- },
- ],
- "start": 199,
- "type": "TemplateLiteral",
- },
- ],
- "callee": Node {
- "end": 198,
- "name": "FileAttachment",
- "start": 184,
- "type": "Identifier",
- },
- "end": 203,
- "optional": false,
- "start": 184,
- "type": "CallExpression",
- },
- "start": 180,
- "type": "AssignmentExpression",
- },
- "start": 180,
- "type": "ExpressionStatement",
- },
- ],
- "end": 210,
- "start": 108,
- "type": "BlockStatement",
- },
- "end": 210,
- "start": 93,
- "test": Node {
- "end": 106,
- "name": "condition",
- "start": 97,
- "type": "Identifier",
- },
- "type": "IfStatement",
- },
- ],
- "end": 214,
- "start": 38,
- "type": "BlockStatement",
- },
- "end": 214,
- "start": 20,
- "test": Node {
- "end": 36,
- "left": Node {
- "end": 32,
- "name": "count",
- "start": 27,
- "type": "Identifier",
- },
- "operator": ">",
- "right": Node {
- "end": 36,
- "raw": "0",
- "start": 35,
- "type": "Literal",
- "value": 0,
- },
- "start": 27,
- "type": "BinaryExpression",
- },
- "type": "WhileStatement",
- },
- Node {
- "argument": Node {
- "arguments": Array [
- Node {
- "end": 231,
- "name": "a",
- "start": 230,
- "type": "Identifier",
- },
- Node {
- "end": 234,
- "name": "b",
- "start": 233,
- "type": "Identifier",
- },
- Node {
- "end": 237,
- "name": "c",
- "start": 236,
- "type": "Identifier",
- },
- ],
- "callee": Node {
- "end": 229,
- "name": "input",
- "start": 224,
- "type": "Identifier",
- },
- "end": 238,
- "optional": false,
- "start": 224,
- "type": "CallExpression",
- },
- "end": 239,
- "start": 217,
- "type": "ReturnStatement",
- },
- ],
- "end": 241,
- "start": 16,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 242,
- "fileAttachments": Map {
- "a" => Array [
- Object {
- "end": 86,
- "start": 83,
- },
- ],
- "b" => Array [
- Object {
- "end": 171,
- "start": 168,
- },
- ],
- "c" => Array [
- Object {
- "end": 202,
- "start": 199,
- },
- ],
- },
- "generator": false,
- "id": Node {
- "end": 13,
- "id": Node {
- "end": 13,
- "name": "slider",
- "start": 7,
- "type": "Identifier",
- },
- "start": 0,
- "type": "ViewExpression",
- },
- "references": Array [
- Node {
- "end": 32,
- "name": "count",
- "start": 27,
- "type": "Identifier",
- },
- Node {
- "end": 82,
- "name": "FileAttachment",
- "start": 68,
- "type": "Identifier",
- },
- Node {
- "end": 106,
- "name": "condition",
- "start": 97,
- "type": "Identifier",
- },
- Node {
- "end": 131,
- "name": "defaultFile",
- "start": 120,
- "type": "Identifier",
- },
- Node {
- "end": 150,
- "name": "defaultFileValue",
- "start": 134,
- "type": "Identifier",
- },
- Node {
- "end": 167,
- "name": "FileAttachment",
- "start": 153,
- "type": "Identifier",
- },
- Node {
- "end": 198,
- "name": "FileAttachment",
- "start": 184,
- "type": "Identifier",
- },
- Node {
- "end": 229,
- "name": "input",
- "start": 224,
- "type": "Identifier",
- },
- Node {
- "end": 231,
- "name": "a",
- "start": 230,
- "type": "Identifier",
- },
- Node {
- "end": 234,
- "name": "b",
- "start": 233,
- "type": "Identifier",
- },
- Node {
- "end": 237,
- "name": "c",
- "start": 236,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse file-attachment.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "declarations": Array [
- Node {
- "end": 31,
- "id": Node {
- "end": 9,
- "name": "a",
- "start": 8,
- "type": "Identifier",
- },
- "init": Node {
- "arguments": Array [
- Node {
- "end": 30,
- "raw": "\\"a\\"",
- "start": 27,
- "type": "Literal",
- "value": "a",
- },
- ],
- "callee": Node {
- "end": 26,
- "name": "FileAttachment",
- "start": 12,
- "type": "Identifier",
- },
- "end": 31,
- "optional": false,
- "start": 12,
- "type": "CallExpression",
- },
- "start": 8,
- "type": "VariableDeclarator",
- },
- ],
- "end": 32,
- "kind": "let",
- "start": 4,
- "type": "VariableDeclaration",
- },
- Node {
- "declarations": Array [
- Node {
- "end": 62,
- "id": Node {
- "end": 40,
- "name": "b",
- "start": 39,
- "type": "Identifier",
- },
- "init": Node {
- "arguments": Array [
- Node {
- "end": 61,
- "raw": "'b'",
- "start": 58,
- "type": "Literal",
- "value": "b",
- },
- ],
- "callee": Node {
- "end": 57,
- "name": "FileAttachment",
- "start": 43,
- "type": "Identifier",
- },
- "end": 62,
- "optional": false,
- "start": 43,
- "type": "CallExpression",
- },
- "start": 39,
- "type": "VariableDeclarator",
- },
- ],
- "end": 63,
- "kind": "let",
- "start": 35,
- "type": "VariableDeclaration",
- },
- Node {
- "declarations": Array [
- Node {
- "end": 93,
- "id": Node {
- "end": 71,
- "name": "c",
- "start": 70,
- "type": "Identifier",
- },
- "init": Node {
- "arguments": Array [
- Node {
- "end": 92,
- "expressions": Array [],
- "quasis": Array [
- Node {
- "end": 91,
- "start": 90,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": "c",
- "raw": "c",
- },
- },
- ],
- "start": 89,
- "type": "TemplateLiteral",
- },
- ],
- "callee": Node {
- "end": 88,
- "name": "FileAttachment",
- "start": 74,
- "type": "Identifier",
- },
- "end": 93,
- "optional": false,
- "start": 74,
- "type": "CallExpression",
- },
- "start": 70,
- "type": "VariableDeclarator",
- },
- ],
- "end": 94,
- "kind": "let",
- "start": 66,
- "type": "VariableDeclaration",
- },
- Node {
- "declarations": Array [
- Node {
- "end": 125,
- "id": Node {
- "end": 103,
- "name": "c2",
- "start": 101,
- "type": "Identifier",
- },
- "init": Node {
- "arguments": Array [
- Node {
- "end": 124,
- "raw": "\\"c\\"",
- "start": 121,
- "type": "Literal",
- "value": "c",
- },
- ],
- "callee": Node {
- "end": 120,
- "name": "FileAttachment",
- "start": 106,
- "type": "Identifier",
- },
- "end": 125,
- "optional": false,
- "start": 106,
- "type": "CallExpression",
- },
- "start": 101,
- "type": "VariableDeclarator",
- },
- ],
- "end": 126,
- "kind": "let",
- "start": 97,
- "type": "VariableDeclaration",
- },
- ],
- "end": 128,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 129,
- "fileAttachments": Map {
- "a" => Array [
- Object {
- "end": 30,
- "start": 27,
- },
- ],
- "b" => Array [
- Object {
- "end": 61,
- "start": 58,
- },
- ],
- "c" => Array [
- Object {
- "end": 92,
- "start": 89,
- },
- Object {
- "end": 124,
- "start": 121,
- },
- ],
- },
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 26,
- "name": "FileAttachment",
- "start": 12,
- "type": "Identifier",
- },
- Node {
- "end": 57,
- "name": "FileAttachment",
- "start": 43,
- "type": "Identifier",
- },
- Node {
- "end": 88,
- "name": "FileAttachment",
- "start": 74,
- "type": "Identifier",
- },
- Node {
- "end": 120,
- "name": "FileAttachment",
- "start": 106,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse for-await-generator.js > must match snapshot 1`] = `
-Node {
- "async": true,
- "body": Node {
- "body": Array [
- Node {
- "await": true,
- "body": Node {
- "body": Array [
- Node {
- "end": 55,
- "expression": Node {
- "argument": Node {
- "end": 54,
- "name": "value",
- "start": 49,
- "type": "Identifier",
- },
- "delegate": false,
- "end": 54,
- "start": 43,
- "type": "YieldExpression",
- },
- "start": 43,
- "type": "ExpressionStatement",
- },
- ],
- "end": 59,
- "start": 37,
- "type": "BlockStatement",
- },
- "end": 59,
- "left": Node {
- "declarations": Array [
- Node {
- "end": 26,
- "id": Node {
- "end": 26,
- "name": "value",
- "start": 21,
- "type": "Identifier",
- },
- "init": null,
- "start": 21,
- "type": "VariableDeclarator",
- },
- ],
- "end": 26,
- "kind": "const",
- "start": 15,
- "type": "VariableDeclaration",
- },
- "right": Node {
- "arguments": Array [],
- "callee": Node {
- "end": 33,
- "name": "foo",
- "start": 30,
- "type": "Identifier",
- },
- "end": 35,
- "optional": false,
- "start": 30,
- "type": "CallExpression",
- },
- "start": 4,
- "type": "ForOfStatement",
- },
- ],
- "end": 61,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 62,
- "fileAttachments": Map {},
- "generator": true,
- "id": null,
- "references": Array [
- Node {
- "end": 33,
- "name": "foo",
- "start": 30,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse for-await-in-function.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "async": true,
- "body": Node {
- "body": Array [
- Node {
- "declarations": Array [
- Node {
- "end": 42,
- "id": Node {
- "end": 37,
- "name": "values",
- "start": 31,
- "type": "Identifier",
- },
- "init": Node {
- "elements": Array [],
- "end": 42,
- "start": 40,
- "type": "ArrayExpression",
- },
- "start": 31,
- "type": "VariableDeclarator",
- },
- ],
- "end": 43,
- "kind": "const",
- "start": 25,
- "type": "VariableDeclaration",
- },
- Node {
- "await": true,
- "body": Node {
- "body": Array [
- Node {
- "end": 104,
- "expression": Node {
- "arguments": Array [
- Node {
- "end": 102,
- "name": "value",
- "start": 97,
- "type": "Identifier",
- },
- ],
- "callee": Node {
- "computed": false,
- "end": 96,
- "object": Node {
- "end": 91,
- "name": "values",
- "start": 85,
- "type": "Identifier",
- },
- "optional": false,
- "property": Node {
- "end": 96,
- "name": "push",
- "start": 92,
- "type": "Identifier",
- },
- "start": 85,
- "type": "MemberExpression",
- },
- "end": 103,
- "optional": false,
- "start": 85,
- "type": "CallExpression",
- },
- "start": 85,
- "type": "ExpressionStatement",
- },
- ],
- "end": 108,
- "start": 79,
- "type": "BlockStatement",
- },
- "end": 108,
- "left": Node {
- "declarations": Array [
- Node {
- "end": 68,
- "id": Node {
- "end": 68,
- "name": "value",
- "start": 63,
- "type": "Identifier",
- },
- "init": null,
- "start": 63,
- "type": "VariableDeclarator",
- },
- ],
- "end": 68,
- "kind": "const",
- "start": 57,
- "type": "VariableDeclaration",
- },
- "right": Node {
- "arguments": Array [],
- "callee": Node {
- "end": 75,
- "name": "foo",
- "start": 72,
- "type": "Identifier",
- },
- "end": 77,
- "optional": false,
- "start": 72,
- "type": "CallExpression",
- },
- "start": 46,
- "type": "ForOfStatement",
- },
- Node {
- "argument": Node {
- "end": 124,
- "name": "values",
- "start": 118,
- "type": "Identifier",
- },
- "end": 125,
- "start": 111,
- "type": "ReturnStatement",
- },
- ],
- "end": 127,
- "start": 21,
- "type": "BlockStatement",
- },
- "end": 127,
- "expression": false,
- "generator": false,
- "id": Node {
- "end": 18,
- "name": "bar",
- "start": 15,
- "type": "Identifier",
- },
- "params": Array [],
- "start": 0,
- "type": "FunctionExpression",
- },
- "databaseClients": Map {},
- "end": 128,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 18,
- "name": "bar",
- "start": 15,
- "type": "Identifier",
- },
- "references": Array [
- Node {
- "end": 75,
- "name": "foo",
- "start": 72,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse for-await.js > must match snapshot 1`] = `
-Node {
- "async": true,
- "body": Node {
- "body": Array [
- Node {
- "declarations": Array [
- Node {
- "end": 21,
- "id": Node {
- "end": 16,
- "name": "values",
- "start": 10,
- "type": "Identifier",
- },
- "init": Node {
- "elements": Array [],
- "end": 21,
- "start": 19,
- "type": "ArrayExpression",
- },
- "start": 10,
- "type": "VariableDeclarator",
- },
- ],
- "end": 22,
- "kind": "const",
- "start": 4,
- "type": "VariableDeclaration",
- },
- Node {
- "await": true,
- "body": Node {
- "body": Array [
- Node {
- "end": 83,
- "expression": Node {
- "arguments": Array [
- Node {
- "end": 81,
- "name": "value",
- "start": 76,
- "type": "Identifier",
- },
- ],
- "callee": Node {
- "computed": false,
- "end": 75,
- "object": Node {
- "end": 70,
- "name": "values",
- "start": 64,
- "type": "Identifier",
- },
- "optional": false,
- "property": Node {
- "end": 75,
- "name": "push",
- "start": 71,
- "type": "Identifier",
- },
- "start": 64,
- "type": "MemberExpression",
- },
- "end": 82,
- "optional": false,
- "start": 64,
- "type": "CallExpression",
- },
- "start": 64,
- "type": "ExpressionStatement",
- },
- ],
- "end": 87,
- "start": 58,
- "type": "BlockStatement",
- },
- "end": 87,
- "left": Node {
- "declarations": Array [
- Node {
- "end": 47,
- "id": Node {
- "end": 47,
- "name": "value",
- "start": 42,
- "type": "Identifier",
- },
- "init": null,
- "start": 42,
- "type": "VariableDeclarator",
- },
- ],
- "end": 47,
- "kind": "const",
- "start": 36,
- "type": "VariableDeclaration",
- },
- "right": Node {
- "arguments": Array [],
- "callee": Node {
- "end": 54,
- "name": "foo",
- "start": 51,
- "type": "Identifier",
- },
- "end": 56,
- "optional": false,
- "start": 51,
- "type": "CallExpression",
- },
- "start": 25,
- "type": "ForOfStatement",
- },
- Node {
- "argument": Node {
- "end": 103,
- "name": "values",
- "start": 97,
- "type": "Identifier",
- },
- "end": 104,
- "start": 90,
- "type": "ReturnStatement",
- },
- ],
- "end": 106,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 107,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 54,
- "name": "foo",
- "start": 51,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse function-unexpected-viewof.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 9,
- "line": 1,
- },
- "message": "Unexpected keyword 'viewof' (1:9)",
- "pos": 9,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse global-assignment.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 2,
- "line": 2,
- },
- "message": "Assignment to constant variable foo (2:2)",
- "pos": 4,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse illegal-arguments.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 4,
- "line": 1,
- },
- "message": "arguments is not allowed (1:4)",
- "pos": 4,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse illegal-arrow-arguments.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 6,
- "line": 1,
- },
- "message": "arguments is not allowed (1:6)",
- "pos": 6,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse import-as-duplicate.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 20,
- "line": 1,
- },
- "message": "Identifier 'foo' has already been declared (1:20)",
- "pos": 20,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse import-default-as.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 8,
- "line": 1,
- },
- "message": "Unexpected keyword 'default' (1:8)",
- "pos": 8,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse import-default.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 7,
- "line": 1,
- },
- "message": "Unexpected token (1:7)",
- "pos": 7,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse import-duplicate.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 13,
- "line": 1,
- },
- "message": "Identifier 'foo' has already been declared (1:13)",
- "pos": 13,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse import-empty.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 23,
- "source": Node {
- "end": 23,
- "raw": "\\"module\\"",
- "start": 15,
- "type": "Literal",
- "value": "module",
- },
- "specifiers": Array [],
- "start": 0,
- "type": "ImportDeclaration",
- },
- "databaseClients": Map {},
- "end": 24,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse import-extra.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 39,
- "line": 1,
- },
- "message": "Unexpected token (1:39)",
- "pos": 39,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse import-mutable-as.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 41,
- "source": Node {
- "end": 41,
- "raw": "\\"module\\"",
- "start": 33,
- "type": "Literal",
- "value": "module",
- },
- "specifiers": Array [
- Node {
- "end": 26,
- "imported": Node {
- "end": 19,
- "name": "foo",
- "start": 16,
- "type": "Identifier",
- },
- "local": Node {
- "end": 26,
- "name": "bar",
- "start": 23,
- "type": "Identifier",
- },
- "mutable": true,
- "start": 8,
- "type": "ImportSpecifier",
- "view": false,
- },
- ],
- "start": 0,
- "type": "ImportDeclaration",
- },
- "databaseClients": Map {},
- "end": 42,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse import-mutable.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 34,
- "source": Node {
- "end": 34,
- "raw": "\\"module\\"",
- "start": 26,
- "type": "Literal",
- "value": "module",
- },
- "specifiers": Array [
- Node {
- "end": 19,
- "imported": Node {
- "end": 19,
- "name": "foo",
- "start": 16,
- "type": "Identifier",
- },
- "local": Node {
- "end": 19,
- "name": "foo",
- "start": 16,
- "type": "Identifier",
- },
- "mutable": true,
- "start": 8,
- "type": "ImportSpecifier",
- "view": false,
- },
- ],
- "start": 0,
- "type": "ImportDeclaration",
- },
- "databaseClients": Map {},
- "end": 35,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse import-semicolon.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 38,
- "source": Node {
- "end": 38,
- "raw": "\\"module\\"",
- "start": 30,
- "type": "Literal",
- "value": "module",
- },
- "specifiers": Array [
- Node {
- "end": 11,
- "imported": Node {
- "end": 11,
- "name": "foo",
- "start": 8,
- "type": "Identifier",
- },
- "local": Node {
- "end": 11,
- "name": "foo",
- "start": 8,
- "type": "Identifier",
- },
- "mutable": false,
- "start": 8,
- "type": "ImportSpecifier",
- "view": false,
- },
- Node {
- "end": 23,
- "imported": Node {
- "end": 16,
- "name": "bar",
- "start": 13,
- "type": "Identifier",
- },
- "local": Node {
- "end": 23,
- "name": "baz",
- "start": 20,
- "type": "Identifier",
- },
- "mutable": false,
- "start": 13,
- "type": "ImportSpecifier",
- "view": false,
- },
- ],
- "start": 0,
- "type": "ImportDeclaration",
- },
- "databaseClients": Map {},
- "end": 40,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse import-side-effect.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 7,
- "line": 1,
- },
- "message": "Unexpected token (1:7)",
- "pos": 7,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse import-viewof-as.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 40,
- "source": Node {
- "end": 40,
- "raw": "\\"module\\"",
- "start": 32,
- "type": "Literal",
- "value": "module",
- },
- "specifiers": Array [
- Node {
- "end": 25,
- "imported": Node {
- "end": 18,
- "name": "foo",
- "start": 15,
- "type": "Identifier",
- },
- "local": Node {
- "end": 25,
- "name": "bar",
- "start": 22,
- "type": "Identifier",
- },
- "mutable": false,
- "start": 8,
- "type": "ImportSpecifier",
- "view": true,
- },
- ],
- "start": 0,
- "type": "ImportDeclaration",
- },
- "databaseClients": Map {},
- "end": 41,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse import-viewof.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 33,
- "source": Node {
- "end": 33,
- "raw": "\\"module\\"",
- "start": 25,
- "type": "Literal",
- "value": "module",
- },
- "specifiers": Array [
- Node {
- "end": 18,
- "imported": Node {
- "end": 18,
- "name": "foo",
- "start": 15,
- "type": "Identifier",
- },
- "local": Node {
- "end": 18,
- "name": "foo",
- "start": 15,
- "type": "Identifier",
- },
- "mutable": false,
- "start": 8,
- "type": "ImportSpecifier",
- "view": true,
- },
- ],
- "start": 0,
- "type": "ImportDeclaration",
- },
- "databaseClients": Map {},
- "end": 34,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse import-with-as-duplicate.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 28,
- "line": 1,
- },
- "message": "Identifier 'foo' has already been declared (1:28)",
- "pos": 28,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse import-with-default-as.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 26,
- "line": 1,
- },
- "message": "Unexpected keyword 'default' (1:26)",
- "pos": 26,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse import-with-default.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 19,
- "line": 1,
- },
- "message": "Unexpected keyword 'default' (1:19)",
- "pos": 19,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse import-with-duplicate.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 21,
- "line": 1,
- },
- "message": "Identifier 'foo' has already been declared (1:21)",
- "pos": 21,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse import-with-empty.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 34,
- "injections": Array [],
- "source": Node {
- "end": 34,
- "raw": "\\"module\\"",
- "start": 26,
- "type": "Literal",
- "value": "module",
- },
- "specifiers": Array [
- Node {
- "end": 11,
- "imported": Node {
- "end": 11,
- "name": "foo",
- "start": 8,
- "type": "Identifier",
- },
- "local": Node {
- "end": 11,
- "name": "foo",
- "start": 8,
- "type": "Identifier",
- },
- "mutable": false,
- "start": 8,
- "type": "ImportSpecifier",
- "view": false,
- },
- ],
- "start": 0,
- "type": "ImportDeclaration",
- },
- "databaseClients": Map {},
- "end": 35,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse import-with.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 44,
- "injections": Array [
- Node {
- "end": 29,
- "imported": Node {
- "end": 22,
- "name": "bar",
- "start": 19,
- "type": "Identifier",
- },
- "local": Node {
- "end": 29,
- "name": "baz",
- "start": 26,
- "type": "Identifier",
- },
- "mutable": false,
- "start": 19,
- "type": "ImportSpecifier",
- "view": false,
- },
- ],
- "source": Node {
- "end": 44,
- "raw": "\\"module\\"",
- "start": 36,
- "type": "Literal",
- "value": "module",
- },
- "specifiers": Array [
- Node {
- "end": 11,
- "imported": Node {
- "end": 11,
- "name": "foo",
- "start": 8,
- "type": "Identifier",
- },
- "local": Node {
- "end": 11,
- "name": "foo",
- "start": 8,
- "type": "Identifier",
- },
- "mutable": false,
- "start": 8,
- "type": "ImportSpecifier",
- "view": false,
- },
- ],
- "start": 0,
- "type": "ImportDeclaration",
- },
- "databaseClients": Map {},
- "end": 45,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 22,
- "name": "bar",
- "start": 19,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse import.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 38,
- "source": Node {
- "end": 38,
- "raw": "\\"module\\"",
- "start": 30,
- "type": "Literal",
- "value": "module",
- },
- "specifiers": Array [
- Node {
- "end": 11,
- "imported": Node {
- "end": 11,
- "name": "foo",
- "start": 8,
- "type": "Identifier",
- },
- "local": Node {
- "end": 11,
- "name": "foo",
- "start": 8,
- "type": "Identifier",
- },
- "mutable": false,
- "start": 8,
- "type": "ImportSpecifier",
- "view": false,
- },
- Node {
- "end": 23,
- "imported": Node {
- "end": 16,
- "name": "bar",
- "start": 13,
- "type": "Identifier",
- },
- "local": Node {
- "end": 23,
- "name": "baz",
- "start": 20,
- "type": "Identifier",
- },
- "mutable": false,
- "start": 13,
- "type": "ImportSpecifier",
- "view": false,
- },
- ],
- "start": 0,
- "type": "ImportDeclaration",
- },
- "databaseClients": Map {},
- "end": 39,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse leading-semicolon.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 1,
- "line": 1,
- },
- "message": "Unexpected token (1:1)",
- "pos": 1,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse legal-arguments.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "argument": Node {
- "computed": false,
- "end": 36,
- "object": Node {
- "end": 29,
- "name": "arguments",
- "start": 20,
- "type": "Identifier",
- },
- "optional": false,
- "property": Node {
- "end": 36,
- "name": "length",
- "start": 30,
- "type": "Identifier",
- },
- "start": 20,
- "type": "MemberExpression",
- },
- "end": 37,
- "start": 13,
- "type": "ReturnStatement",
- },
- ],
- "end": 39,
- "start": 11,
- "type": "BlockStatement",
- },
- "end": 39,
- "expression": false,
- "generator": false,
- "id": null,
- "params": Array [],
- "start": 0,
- "type": "FunctionExpression",
- },
- "databaseClients": Map {},
- "end": 40,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse logical-assignment.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "declarations": Array [
- Node {
- "end": 16,
- "id": Node {
- "end": 9,
- "name": "a",
- "start": 8,
- "type": "Identifier",
- },
- "init": Node {
- "end": 16,
- "raw": "null",
- "start": 12,
- "type": "Literal",
- "value": null,
- },
- "start": 8,
- "type": "VariableDeclarator",
- },
- ],
- "end": 17,
- "kind": "let",
- "start": 4,
- "type": "VariableDeclaration",
- },
- Node {
- "declarations": Array [
- Node {
- "end": 33,
- "id": Node {
- "end": 25,
- "name": "b",
- "start": 24,
- "type": "Identifier",
- },
- "init": Node {
- "end": 33,
- "raw": "false",
- "start": 28,
- "type": "Literal",
- "value": false,
- },
- "start": 24,
- "type": "VariableDeclarator",
- },
- ],
- "end": 34,
- "kind": "let",
- "start": 20,
- "type": "VariableDeclaration",
- },
- Node {
- "end": 45,
- "expression": Node {
- "end": 44,
- "left": Node {
- "end": 38,
- "name": "a",
- "start": 37,
- "type": "Identifier",
- },
- "operator": "||=",
- "right": Node {
- "end": 44,
- "name": "b",
- "start": 43,
- "type": "Identifier",
- },
- "start": 37,
- "type": "AssignmentExpression",
- },
- "start": 37,
- "type": "ExpressionStatement",
- },
- Node {
- "argument": Node {
- "end": 56,
- "name": "a",
- "start": 55,
- "type": "Identifier",
- },
- "end": 57,
- "start": 48,
- "type": "ReturnStatement",
- },
- ],
- "end": 59,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 60,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse markdown.md > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 104,
- "expressions": Array [
- Node {
- "end": 101,
- "name": "foo",
- "start": 98,
- "type": "Identifier",
- },
- ],
- "quasis": Array [
- Node {
- "end": 96,
- "start": 0,
- "tail": false,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "# Header 1\\n\\n\`\`\`\\nconst codeBlock = true;\\n\`\`\`\\n\\nParagraph that references \`codeBlock\`. Foo value: \\"",
- },
- },
- Node {
- "end": 104,
- "start": 102,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "\\".",
- },
- },
- ],
- "start": 0,
- "type": "TemplateLiteral",
- },
- "databaseClients": Map {},
- "end": 104,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "raw": false,
- "references": Array [
- Node {
- "end": 101,
- "name": "foo",
- "start": 98,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "tag": Node {
- "async": false,
- "body": Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- "databaseClients": Map {},
- "end": 2,
- "fileAttachments": Map {},
- "generator": false,
- "input": "md",
- "references": Array [
- Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "CellTag",
- },
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse member-assignment.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 14,
- "left": Node {
- "computed": false,
- "end": 10,
- "object": Node {
- "end": 6,
- "name": "window",
- "start": 0,
- "type": "Identifier",
- },
- "optional": false,
- "property": Node {
- "end": 10,
- "name": "foo",
- "start": 7,
- "type": "Identifier",
- },
- "start": 0,
- "type": "MemberExpression",
- },
- "operator": "=",
- "right": Node {
- "end": 14,
- "raw": "2",
- "start": 13,
- "type": "Literal",
- "value": 2,
- },
- "start": 0,
- "type": "AssignmentExpression",
- },
- "databaseClients": Map {},
- "end": 15,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 6,
- "name": "window",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse multiple-input-references.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "declarations": Array [
- Node {
- "end": 28,
- "id": Node {
- "end": 20,
- "name": "sum",
- "start": 17,
- "type": "Identifier",
- },
- "init": Node {
- "end": 28,
- "left": Node {
- "end": 24,
- "name": "a",
- "start": 23,
- "type": "Identifier",
- },
- "operator": "+",
- "right": Node {
- "end": 28,
- "name": "b",
- "start": 27,
- "type": "Identifier",
- },
- "start": 23,
- "type": "BinaryExpression",
- },
- "start": 17,
- "type": "VariableDeclarator",
- },
- ],
- "end": 29,
- "kind": "const",
- "start": 11,
- "type": "VariableDeclaration",
- },
- Node {
- "declarations": Array [
- Node {
- "end": 53,
- "id": Node {
- "end": 45,
- "name": "product",
- "start": 38,
- "type": "Identifier",
- },
- "init": Node {
- "end": 53,
- "left": Node {
- "end": 49,
- "name": "a",
- "start": 48,
- "type": "Identifier",
- },
- "operator": "*",
- "right": Node {
- "end": 53,
- "name": "b",
- "start": 52,
- "type": "Identifier",
- },
- "start": 48,
- "type": "BinaryExpression",
- },
- "start": 38,
- "type": "VariableDeclarator",
- },
- ],
- "end": 54,
- "kind": "const",
- "start": 32,
- "type": "VariableDeclaration",
- },
- Node {
- "declarations": Array [
- Node {
- "end": 81,
- "id": Node {
- "end": 73,
- "name": "difference",
- "start": 63,
- "type": "Identifier",
- },
- "init": Node {
- "end": 81,
- "left": Node {
- "end": 77,
- "name": "a",
- "start": 76,
- "type": "Identifier",
- },
- "operator": "-",
- "right": Node {
- "end": 81,
- "name": "b",
- "start": 80,
- "type": "Identifier",
- },
- "start": 76,
- "type": "BinaryExpression",
- },
- "start": 63,
- "type": "VariableDeclarator",
- },
- ],
- "end": 82,
- "kind": "const",
- "start": 57,
- "type": "VariableDeclaration",
- },
- Node {
- "argument": Node {
- "end": 118,
- "properties": Array [
- Node {
- "computed": false,
- "end": 96,
- "key": Node {
- "end": 96,
- "name": "sum",
- "start": 93,
- "type": "Identifier",
- },
- "kind": "init",
- "method": false,
- "shorthand": true,
- "start": 93,
- "type": "Property",
- "value": Node {
- "end": 96,
- "name": "sum",
- "start": 93,
- "type": "Identifier",
- },
- },
- Node {
- "computed": false,
- "end": 105,
- "key": Node {
- "end": 105,
- "name": "product",
- "start": 98,
- "type": "Identifier",
- },
- "kind": "init",
- "method": false,
- "shorthand": true,
- "start": 98,
- "type": "Property",
- "value": Node {
- "end": 105,
- "name": "product",
- "start": 98,
- "type": "Identifier",
- },
- },
- Node {
- "computed": false,
- "end": 117,
- "key": Node {
- "end": 117,
- "name": "difference",
- "start": 107,
- "type": "Identifier",
- },
- "kind": "init",
- "method": false,
- "shorthand": true,
- "start": 107,
- "type": "Property",
- "value": Node {
- "end": 117,
- "name": "difference",
- "start": 107,
- "type": "Identifier",
- },
- },
- ],
- "start": 92,
- "type": "ObjectExpression",
- },
- "end": 119,
- "start": 85,
- "type": "ReturnStatement",
- },
- ],
- "end": 121,
- "start": 7,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 122,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 4,
- "name": "cell",
- "start": 0,
- "type": "Identifier",
- },
- "references": Array [
- Node {
- "end": 24,
- "name": "a",
- "start": 23,
- "type": "Identifier",
- },
- Node {
- "end": 28,
- "name": "b",
- "start": 27,
- "type": "Identifier",
- },
- Node {
- "end": 49,
- "name": "a",
- "start": 48,
- "type": "Identifier",
- },
- Node {
- "end": 53,
- "name": "b",
- "start": 52,
- "type": "Identifier",
- },
- Node {
- "end": 77,
- "name": "a",
- "start": 76,
- "type": "Identifier",
- },
- Node {
- "end": 81,
- "name": "b",
- "start": 80,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse mutable-argument.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 12,
- "line": 1,
- },
- "message": "Unexpected keyword 'mutable' (1:12)",
- "pos": 12,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse mutable-as-property.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 23,
- "left": Node {
- "computed": true,
- "end": 19,
- "object": Node {
- "end": 6,
- "name": "object",
- "start": 0,
- "type": "Identifier",
- },
- "optional": false,
- "property": Node {
- "end": 18,
- "id": Node {
- "end": 18,
- "name": "foo",
- "start": 15,
- "type": "Identifier",
- },
- "start": 7,
- "type": "MutableExpression",
- },
- "start": 0,
- "type": "MemberExpression",
- },
- "operator": "+",
- "right": Node {
- "end": 23,
- "raw": "1",
- "start": 22,
- "type": "Literal",
- "value": 1,
- },
- "start": 0,
- "type": "BinaryExpression",
- },
- "databaseClients": Map {},
- "end": 24,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 6,
- "name": "object",
- "start": 0,
- "type": "Identifier",
- },
- Node {
- "end": 18,
- "id": Node {
- "end": 18,
- "name": "foo",
- "start": 15,
- "type": "Identifier",
- },
- "start": 7,
- "type": "MutableExpression",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse mutable-assign-default.js > must match snapshot 1`] = `
-Node {
- "async": true,
- "body": Node {
- "argument": Node {
- "arguments": Array [
- Node {
- "end": 42,
- "name": "config",
- "start": 36,
- "type": "Identifier",
- },
- ],
- "callee": Node {
- "computed": false,
- "end": 35,
- "object": Node {
- "end": 29,
- "name": "Service",
- "start": 22,
- "type": "Identifier",
- },
- "optional": false,
- "property": Node {
- "end": 35,
- "name": "fetch",
- "start": 30,
- "type": "Identifier",
- },
- "start": 22,
- "type": "MemberExpression",
- },
- "end": 43,
- "optional": false,
- "start": 22,
- "type": "CallExpression",
- },
- "end": 43,
- "start": 16,
- "type": "AwaitExpression",
- },
- "databaseClients": Map {},
- "end": 44,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 13,
- "id": Node {
- "end": 13,
- "name": "state",
- "start": 8,
- "type": "Identifier",
- },
- "start": 0,
- "type": "MutableExpression",
- },
- "references": Array [
- Node {
- "end": 29,
- "name": "Service",
- "start": 22,
- "type": "Identifier",
- },
- Node {
- "end": 42,
- "name": "config",
- "start": 36,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse mutable-assignment.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "end": 24,
- "expression": Node {
- "end": 23,
- "left": Node {
- "end": 17,
- "id": Node {
- "end": 17,
- "name": "value",
- "start": 12,
- "type": "Identifier",
- },
- "start": 4,
- "type": "MutableExpression",
- },
- "operator": "=",
- "right": Node {
- "end": 23,
- "raw": "101",
- "start": 20,
- "type": "Literal",
- "value": 101,
- },
- "start": 4,
- "type": "AssignmentExpression",
- },
- "start": 4,
- "type": "ExpressionStatement",
- },
- ],
- "end": 26,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 27,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 17,
- "id": Node {
- "end": 17,
- "name": "value",
- "start": 12,
- "type": "Identifier",
- },
- "start": 4,
- "type": "MutableExpression",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse mutable-block-cell.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "argument": Node {
- "end": 37,
- "properties": Array [
- Node {
- "computed": false,
- "end": 30,
- "key": Node {
- "end": 27,
- "name": "x",
- "start": 26,
- "type": "Identifier",
- },
- "kind": "init",
- "method": false,
- "shorthand": false,
- "start": 26,
- "type": "Property",
- "value": Node {
- "end": 30,
- "raw": "0",
- "start": 29,
- "type": "Literal",
- "value": 0,
- },
- },
- Node {
- "computed": false,
- "end": 36,
- "key": Node {
- "end": 33,
- "name": "y",
- "start": 32,
- "type": "Identifier",
- },
- "kind": "init",
- "method": false,
- "shorthand": false,
- "start": 32,
- "type": "Property",
- "value": Node {
- "end": 36,
- "raw": "0",
- "start": 35,
- "type": "Literal",
- "value": 0,
- },
- },
- ],
- "start": 25,
- "type": "ObjectExpression",
- },
- "end": 38,
- "start": 18,
- "type": "ReturnStatement",
- },
- ],
- "end": 40,
- "start": 14,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 41,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 11,
- "id": Node {
- "end": 11,
- "name": "foo",
- "start": 8,
- "type": "Identifier",
- },
- "start": 0,
- "type": "MutableExpression",
- },
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse mutable-constant.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 8,
- "line": 1,
- },
- "message": "Unexpected token (1:8)",
- "pos": 8,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse mutable-default-value.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "argument": Node {
- "end": 39,
- "name": "y",
- "start": 38,
- "type": "Identifier",
- },
- "end": 40,
- "start": 31,
- "type": "ReturnStatement",
- },
- ],
- "end": 42,
- "start": 27,
- "type": "BlockStatement",
- },
- "end": 42,
- "expression": false,
- "generator": false,
- "id": Node {
- "end": 11,
- "name": "fn",
- "start": 9,
- "type": "Identifier",
- },
- "params": Array [
- Node {
- "end": 25,
- "left": Node {
- "end": 13,
- "name": "y",
- "start": 12,
- "type": "Identifier",
- },
- "right": Node {
- "end": 25,
- "id": Node {
- "end": 25,
- "name": "x",
- "start": 24,
- "type": "Identifier",
- },
- "start": 16,
- "type": "MutableExpression",
- },
- "start": 12,
- "type": "AssignmentPattern",
- },
- ],
- "start": 0,
- "type": "FunctionExpression",
- },
- "databaseClients": Map {},
- "end": 43,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 11,
- "name": "fn",
- "start": 9,
- "type": "Identifier",
- },
- "references": Array [
- Node {
- "end": 25,
- "id": Node {
- "end": 25,
- "name": "x",
- "start": 24,
- "type": "Identifier",
- },
- "start": 16,
- "type": "MutableExpression",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse mutable-destructure-array.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 19,
- "left": Node {
- "elements": Array [
- Node {
- "end": 11,
- "id": Node {
- "end": 11,
- "name": "x",
- "start": 10,
- "type": "Identifier",
- },
- "start": 2,
- "type": "MutableExpression",
- },
- ],
- "end": 12,
- "start": 1,
- "type": "ArrayPattern",
- },
- "operator": "=",
- "right": Node {
- "elements": Array [
- Node {
- "end": 18,
- "raw": "42",
- "start": 16,
- "type": "Literal",
- "value": 42,
- },
- ],
- "end": 19,
- "start": 15,
- "type": "ArrayExpression",
- },
- "start": 1,
- "type": "AssignmentExpression",
- },
- "databaseClients": Map {},
- "end": 21,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 11,
- "id": Node {
- "end": 11,
- "name": "x",
- "start": 10,
- "type": "Identifier",
- },
- "start": 2,
- "type": "MutableExpression",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse mutable-destructure-object.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 42,
- "left": Node {
- "end": 22,
- "properties": Array [
- Node {
- "computed": false,
- "end": 21,
- "key": Node {
- "end": 10,
- "name": "property",
- "start": 2,
- "type": "Identifier",
- },
- "kind": "init",
- "method": false,
- "shorthand": false,
- "start": 2,
- "type": "Property",
- "value": Node {
- "end": 21,
- "id": Node {
- "end": 21,
- "name": "x",
- "start": 20,
- "type": "Identifier",
- },
- "start": 12,
- "type": "MutableExpression",
- },
- },
- ],
- "start": 1,
- "type": "ObjectPattern",
- },
- "operator": "=",
- "right": Node {
- "end": 42,
- "properties": Array [
- Node {
- "computed": false,
- "end": 41,
- "key": Node {
- "end": 34,
- "name": "property",
- "start": 26,
- "type": "Identifier",
- },
- "kind": "init",
- "method": false,
- "shorthand": false,
- "start": 26,
- "type": "Property",
- "value": Node {
- "end": 41,
- "name": "value",
- "start": 36,
- "type": "Identifier",
- },
- },
- ],
- "start": 25,
- "type": "ObjectExpression",
- },
- "start": 1,
- "type": "AssignmentExpression",
- },
- "databaseClients": Map {},
- "end": 44,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 21,
- "id": Node {
- "end": 21,
- "name": "x",
- "start": 20,
- "type": "Identifier",
- },
- "start": 12,
- "type": "MutableExpression",
- },
- Node {
- "end": 41,
- "name": "value",
- "start": 36,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse mutable-destructure-property.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 2,
- "line": 1,
- },
- "message": "Unexpected keyword 'mutable' (1:2)",
- "pos": 2,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse mutable-in-markdown.md > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 100,
- "expressions": Array [
- Node {
- "argument": Node {
- "end": 19,
- "id": Node {
- "end": 19,
- "name": "counter",
- "start": 12,
- "type": "Identifier",
- },
- "start": 4,
- "type": "MutableExpression",
- },
- "end": 19,
- "operator": "++",
- "prefix": true,
- "start": 2,
- "type": "UpdateExpression",
- },
- Node {
- "argument": Node {
- "end": 52,
- "id": Node {
- "end": 52,
- "name": "counter",
- "start": 45,
- "type": "Identifier",
- },
- "start": 37,
- "type": "MutableExpression",
- },
- "end": 52,
- "operator": "++",
- "prefix": true,
- "start": 35,
- "type": "UpdateExpression",
- },
- Node {
- "argument": Node {
- "end": 86,
- "id": Node {
- "end": 86,
- "name": "counter",
- "start": 79,
- "type": "Identifier",
- },
- "start": 71,
- "type": "MutableExpression",
- },
- "end": 86,
- "operator": "++",
- "prefix": true,
- "start": 69,
- "type": "UpdateExpression",
- },
- ],
- "quasis": Array [
- Node {
- "end": 0,
- "start": 0,
- "tail": false,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "",
- },
- },
- Node {
- "end": 33,
- "start": 20,
- "tail": false,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": ". First item\\n",
- },
- },
- Node {
- "end": 67,
- "start": 53,
- "tail": false,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": ". Second item\\n",
- },
- },
- Node {
- "end": 100,
- "start": 87,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": ". Third item\\n",
- },
- },
- ],
- "start": 0,
- "type": "TemplateLiteral",
- },
- "databaseClients": Map {},
- "end": 100,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "raw": false,
- "references": Array [
- Node {
- "end": 19,
- "id": Node {
- "end": 19,
- "name": "counter",
- "start": 12,
- "type": "Identifier",
- },
- "start": 4,
- "type": "MutableExpression",
- },
- Node {
- "end": 52,
- "id": Node {
- "end": 52,
- "name": "counter",
- "start": 45,
- "type": "Identifier",
- },
- "start": 37,
- "type": "MutableExpression",
- },
- Node {
- "end": 86,
- "id": Node {
- "end": 86,
- "name": "counter",
- "start": 79,
- "type": "Identifier",
- },
- "start": 71,
- "type": "MutableExpression",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "tag": Node {
- "async": false,
- "body": Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- "databaseClients": Map {},
- "end": 2,
- "fileAttachments": Map {},
- "generator": false,
- "input": "md",
- "references": Array [
- Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "CellTag",
- },
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse mutable-internal-comment.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 27,
- "id": Node {
- "end": 27,
- "name": "value",
- "start": 22,
- "type": "Identifier",
- },
- "start": 0,
- "type": "MutableExpression",
- },
- "databaseClients": Map {},
- "end": 28,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 27,
- "id": Node {
- "end": 27,
- "name": "value",
- "start": 22,
- "type": "Identifier",
- },
- "start": 0,
- "type": "MutableExpression",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse mutable-member.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 15,
- "line": 1,
- },
- "message": "Unexpected token (1:15)",
- "pos": 15,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse mutable-reference.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "computed": false,
- "end": 22,
- "object": Node {
- "end": 13,
- "id": Node {
- "end": 13,
- "name": "value",
- "start": 8,
- "type": "Identifier",
- },
- "start": 0,
- "type": "MutableExpression",
- },
- "optional": false,
- "property": Node {
- "end": 22,
- "name": "property",
- "start": 14,
- "type": "Identifier",
- },
- "start": 0,
- "type": "MemberExpression",
- },
- "databaseClients": Map {},
- "end": 23,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 13,
- "id": Node {
- "end": 13,
- "name": "value",
- "start": 8,
- "type": "Identifier",
- },
- "start": 0,
- "type": "MutableExpression",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse mutable-var.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 6,
- "line": 2,
- },
- "message": "Unexpected keyword 'mutable' (2:6)",
- "pos": 8,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse named-async-function.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "async": true,
- "body": Node {
- "body": Array [
- Node {
- "end": 37,
- "expression": Node {
- "argument": Node {
- "end": 36,
- "name": "promise",
- "start": 29,
- "type": "Identifier",
- },
- "end": 36,
- "start": 23,
- "type": "AwaitExpression",
- },
- "start": 23,
- "type": "ExpressionStatement",
- },
- ],
- "end": 39,
- "start": 21,
- "type": "BlockStatement",
- },
- "end": 39,
- "expression": false,
- "generator": false,
- "id": Node {
- "end": 18,
- "name": "foo",
- "start": 15,
- "type": "Identifier",
- },
- "params": Array [],
- "start": 0,
- "type": "FunctionExpression",
- },
- "databaseClients": Map {},
- "end": 40,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 18,
- "name": "foo",
- "start": 15,
- "type": "Identifier",
- },
- "references": Array [
- Node {
- "end": 36,
- "name": "promise",
- "start": 29,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse named-block-cell.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "argument": Node {
- "end": 19,
- "raw": "42",
- "start": 17,
- "type": "Literal",
- "value": 42,
- },
- "end": 20,
- "start": 10,
- "type": "ReturnStatement",
- },
- ],
- "end": 22,
- "start": 6,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 23,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 3,
- "name": "foo",
- "start": 0,
- "type": "Identifier",
- },
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse named-class.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Node {
- "body": Array [],
- "end": 12,
- "start": 10,
- "type": "ClassBody",
- },
- "end": 12,
- "id": Node {
- "end": 9,
- "name": "Foo",
- "start": 6,
- "type": "Identifier",
- },
- "start": 0,
- "superClass": null,
- "type": "ClassExpression",
- },
- "databaseClients": Map {},
- "end": 13,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 9,
- "name": "Foo",
- "start": 6,
- "type": "Identifier",
- },
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse named-empty.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 0,
- "line": 2,
- },
- "message": "Unexpected end of input (2:0)",
- "pos": 6,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse named-expression-cell.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 8,
- "raw": "42",
- "start": 6,
- "type": "Literal",
- "value": 42,
- },
- "databaseClients": Map {},
- "end": 9,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 3,
- "name": "foo",
- "start": 0,
- "type": "Identifier",
- },
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse named-function-in-named-cell.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "argument": Node {
- "end": 32,
- "raw": "42",
- "start": 30,
- "type": "Literal",
- "value": 42,
- },
- "end": 33,
- "start": 23,
- "type": "ReturnStatement",
- },
- ],
- "end": 35,
- "start": 21,
- "type": "BlockStatement",
- },
- "end": 35,
- "expression": false,
- "generator": false,
- "id": Node {
- "end": 18,
- "name": "bar",
- "start": 15,
- "type": "Identifier",
- },
- "params": Array [],
- "start": 6,
- "type": "FunctionExpression",
- },
- "databaseClients": Map {},
- "end": 36,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 3,
- "name": "foo",
- "start": 0,
- "type": "Identifier",
- },
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse named-function.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "argument": Node {
- "end": 26,
- "raw": "42",
- "start": 24,
- "type": "Literal",
- "value": 42,
- },
- "end": 27,
- "start": 17,
- "type": "ReturnStatement",
- },
- ],
- "end": 29,
- "start": 15,
- "type": "BlockStatement",
- },
- "end": 29,
- "expression": false,
- "generator": false,
- "id": Node {
- "end": 12,
- "name": "foo",
- "start": 9,
- "type": "Identifier",
- },
- "params": Array [],
- "start": 0,
- "type": "FunctionExpression",
- },
- "databaseClients": Map {},
- "end": 30,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 12,
- "name": "foo",
- "start": 9,
- "type": "Identifier",
- },
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse named-generator-function.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "end": 27,
- "expression": Node {
- "argument": Node {
- "end": 26,
- "raw": "42",
- "start": 24,
- "type": "Literal",
- "value": 42,
- },
- "delegate": false,
- "end": 26,
- "start": 18,
- "type": "YieldExpression",
- },
- "start": 18,
- "type": "ExpressionStatement",
- },
- ],
- "end": 29,
- "start": 16,
- "type": "BlockStatement",
- },
- "end": 29,
- "expression": false,
- "generator": true,
- "id": Node {
- "end": 13,
- "name": "foo",
- "start": 10,
- "type": "Identifier",
- },
- "params": Array [],
- "start": 0,
- "type": "FunctionExpression",
- },
- "databaseClients": Map {},
- "end": 30,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 13,
- "name": "foo",
- "start": 10,
- "type": "Identifier",
- },
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse nullish-coalescing.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 30,
- "left": Node {
- "end": 10,
- "raw": "null",
- "start": 6,
- "type": "Literal",
- "value": null,
- },
- "operator": "??",
- "right": Node {
- "end": 30,
- "raw": "'default string'",
- "start": 14,
- "type": "Literal",
- "value": "default string",
- },
- "start": 6,
- "type": "LogicalExpression",
- },
- "databaseClients": Map {},
- "end": 31,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 3,
- "name": "foo",
- "start": 0,
- "type": "Identifier",
- },
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse object-literal.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 10,
- "properties": Array [
- Node {
- "computed": false,
- "end": 9,
- "key": Node {
- "end": 5,
- "name": "foo",
- "start": 2,
- "type": "Identifier",
- },
- "kind": "init",
- "method": false,
- "shorthand": false,
- "start": 2,
- "type": "Property",
- "value": Node {
- "end": 9,
- "raw": "42",
- "start": 7,
- "type": "Literal",
- "value": 42,
- },
- },
- ],
- "start": 1,
- "type": "ObjectExpression",
- },
- "databaseClients": Map {},
- "end": 12,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse optional-chaining.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 30,
- "expression": Node {
- "computed": false,
- "end": 30,
- "object": Node {
- "computed": false,
- "end": 24,
- "object": Node {
- "end": 20,
- "name": "adventurer",
- "start": 10,
- "type": "Identifier",
- },
- "optional": false,
- "property": Node {
- "end": 24,
- "name": "dog",
- "start": 21,
- "type": "Identifier",
- },
- "start": 10,
- "type": "MemberExpression",
- },
- "optional": true,
- "property": Node {
- "end": 30,
- "name": "name",
- "start": 26,
- "type": "Identifier",
- },
- "start": 10,
- "type": "MemberExpression",
- },
- "start": 10,
- "type": "ChainExpression",
- },
- "databaseClients": Map {},
- "end": 31,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 7,
- "name": "dogName",
- "start": 0,
- "type": "Identifier",
- },
- "references": Array [
- Node {
- "end": 20,
- "name": "adventurer",
- "start": 10,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse reserved-function.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 9,
- "line": 1,
- },
- "message": "Identifier 'Array' is reserved (1:9)",
- "pos": 9,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse reserved-import-as.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 15,
- "line": 1,
- },
- "message": "Identifier 'Array' is reserved (1:15)",
- "pos": 15,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse reserved-import-view.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 15,
- "line": 1,
- },
- "message": "Identifier 'Array' is reserved (1:15)",
- "pos": 15,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse reserved-import-with-as.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 26,
- "line": 1,
- },
- "message": "Identifier 'Array' is reserved (1:26)",
- "pos": 26,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse reserved-import-with.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 19,
- "line": 1,
- },
- "message": "Identifier 'Array' is reserved (1:19)",
- "pos": 19,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse reserved-import.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 8,
- "line": 1,
- },
- "message": "Identifier 'Array' is reserved (1:8)",
- "pos": 8,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse reserved-name.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 0,
- "line": 1,
- },
- "message": "Identifier 'Array' is reserved (1:0)",
- "pos": 0,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse reserved-view.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 7,
- "line": 1,
- },
- "message": "Identifier 'Array' is reserved (1:7)",
- "pos": 7,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse secret.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "declarations": Array [
- Node {
- "end": 23,
- "id": Node {
- "end": 9,
- "name": "a",
- "start": 8,
- "type": "Identifier",
- },
- "init": Node {
- "arguments": Array [
- Node {
- "end": 22,
- "raw": "\\"a\\"",
- "start": 19,
- "type": "Literal",
- "value": "a",
- },
- ],
- "callee": Node {
- "end": 18,
- "name": "Secret",
- "start": 12,
- "type": "Identifier",
- },
- "end": 23,
- "optional": false,
- "start": 12,
- "type": "CallExpression",
- },
- "start": 8,
- "type": "VariableDeclarator",
- },
- ],
- "end": 24,
- "kind": "let",
- "start": 4,
- "type": "VariableDeclaration",
- },
- ],
- "end": 26,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 27,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 18,
- "name": "Secret",
- "start": 12,
- "type": "Identifier",
- },
- ],
- "secrets": Map {
- "a" => Array [
- Object {
- "end": 22,
- "start": 19,
- },
- ],
- },
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse semicolon.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": null,
- "databaseClients": Map {},
- "end": 2,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse sequence-expression.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 7,
- "expressions": Array [
- Node {
- "end": 1,
- "raw": "1",
- "start": 0,
- "type": "Literal",
- "value": 1,
- },
- Node {
- "end": 4,
- "raw": "2",
- "start": 3,
- "type": "Literal",
- "value": 2,
- },
- Node {
- "end": 7,
- "raw": "3",
- "start": 6,
- "type": "Literal",
- "value": 3,
- },
- ],
- "start": 0,
- "type": "SequenceExpression",
- },
- "databaseClients": Map {},
- "end": 8,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse shadowed-view.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "declarations": Array [
- Node {
- "end": 13,
- "id": Node {
- "end": 9,
- "name": "x",
- "start": 8,
- "type": "Identifier",
- },
- "init": Node {
- "end": 13,
- "raw": "2",
- "start": 12,
- "type": "Literal",
- "value": 2,
- },
- "start": 8,
- "type": "VariableDeclarator",
- },
- ],
- "end": 14,
- "kind": "let",
- "start": 4,
- "type": "VariableDeclaration",
- },
- Node {
- "end": 23,
- "expression": Node {
- "end": 22,
- "left": Node {
- "end": 18,
- "name": "x",
- "start": 17,
- "type": "Identifier",
- },
- "operator": "=",
- "right": Node {
- "end": 22,
- "raw": "4",
- "start": 21,
- "type": "Literal",
- "value": 4,
- },
- "start": 17,
- "type": "AssignmentExpression",
- },
- "start": 17,
- "type": "ExpressionStatement",
- },
- Node {
- "argument": Node {
- "end": 41,
- "id": Node {
- "end": 41,
- "name": "x",
- "start": 40,
- "type": "Identifier",
- },
- "start": 33,
- "type": "ViewExpression",
- },
- "end": 42,
- "start": 26,
- "type": "ReturnStatement",
- },
- ],
- "end": 44,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 45,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 41,
- "id": Node {
- "end": 41,
- "name": "x",
- "start": 40,
- "type": "Identifier",
- },
- "start": 33,
- "type": "ViewExpression",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse simple-await-tagged-template.js > must match snapshot 1`] = `
-Node {
- "async": true,
- "body": Node {
- "end": 20,
- "quasi": Node {
- "end": 20,
- "expressions": Array [
- Node {
- "argument": Node {
- "end": 18,
- "name": "promise",
- "start": 11,
- "type": "Identifier",
- },
- "end": 18,
- "start": 5,
- "type": "AwaitExpression",
- },
- ],
- "quasis": Array [
- Node {
- "end": 3,
- "start": 3,
- "tail": false,
- "type": "TemplateElement",
- "value": Object {
- "cooked": "",
- "raw": "",
- },
- },
- Node {
- "end": 19,
- "start": 19,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": "",
- "raw": "",
- },
- },
- ],
- "start": 2,
- "type": "TemplateLiteral",
- },
- "start": 0,
- "tag": Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- "type": "TaggedTemplateExpression",
- },
- "databaseClients": Map {},
- "end": 21,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- Node {
- "end": 18,
- "name": "promise",
- "start": 11,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse simple-await-template.js > must match snapshot 1`] = `
-Node {
- "async": true,
- "body": Node {
- "end": 18,
- "expressions": Array [
- Node {
- "argument": Node {
- "end": 16,
- "name": "promise",
- "start": 9,
- "type": "Identifier",
- },
- "end": 16,
- "start": 3,
- "type": "AwaitExpression",
- },
- ],
- "quasis": Array [
- Node {
- "end": 1,
- "start": 1,
- "tail": false,
- "type": "TemplateElement",
- "value": Object {
- "cooked": "",
- "raw": "",
- },
- },
- Node {
- "end": 17,
- "start": 17,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": "",
- "raw": "",
- },
- },
- ],
- "start": 0,
- "type": "TemplateLiteral",
- },
- "databaseClients": Map {},
- "end": 19,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 16,
- "name": "promise",
- "start": 9,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse simple-await-template.md > must match snapshot 1`] = `
-Node {
- "async": true,
- "body": Node {
- "end": 16,
- "expressions": Array [
- Node {
- "argument": Node {
- "end": 15,
- "name": "promise",
- "start": 8,
- "type": "Identifier",
- },
- "end": 15,
- "start": 2,
- "type": "AwaitExpression",
- },
- ],
- "quasis": Array [
- Node {
- "end": 0,
- "start": 0,
- "tail": false,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "",
- },
- },
- Node {
- "end": 16,
- "start": 16,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": undefined,
- "raw": "",
- },
- },
- ],
- "start": 0,
- "type": "TemplateLiteral",
- },
- "databaseClients": Map {},
- "end": 16,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "raw": false,
- "references": Array [
- Node {
- "end": 15,
- "name": "promise",
- "start": 8,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "tag": Node {
- "async": false,
- "body": Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- "databaseClients": Map {},
- "end": 2,
- "fileAttachments": Map {},
- "generator": false,
- "input": "md",
- "references": Array [
- Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "CellTag",
- },
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse simple-identifier.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 3,
- "name": "foo",
- "start": 0,
- "type": "Identifier",
- },
- "databaseClients": Map {},
- "end": 4,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 3,
- "name": "foo",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse spread-element.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "async": false,
- "body": Node {
- "end": 22,
- "name": "bar",
- "start": 19,
- "type": "Identifier",
- },
- "end": 22,
- "expression": true,
- "generator": false,
- "id": null,
- "params": Array [
- Node {
- "end": 14,
- "properties": Array [
- Node {
- "computed": false,
- "end": 5,
- "key": Node {
- "end": 5,
- "name": "foo",
- "start": 2,
- "type": "Identifier",
- },
- "kind": "init",
- "method": false,
- "shorthand": true,
- "start": 2,
- "type": "Property",
- "value": Node {
- "end": 5,
- "name": "foo",
- "start": 2,
- "type": "Identifier",
- },
- },
- Node {
- "argument": Node {
- "end": 13,
- "name": "bar",
- "start": 10,
- "type": "Identifier",
- },
- "end": 13,
- "start": 7,
- "type": "RestElement",
- },
- ],
- "start": 1,
- "type": "ObjectPattern",
- },
- ],
- "start": 0,
- "type": "ArrowFunctionExpression",
- },
- "databaseClients": Map {},
- "end": 23,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse sql-cell-basic.sql > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 47,
- "expressions": Array [
- Node {
- "end": 46,
- "name": "val",
- "start": 43,
- "type": "Identifier",
- },
- ],
- "quasis": Array [
- Node {
- "end": 41,
- "start": 0,
- "tail": false,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "SELECT * FROM my_table WHERE my_column = ",
- },
- },
- Node {
- "end": 47,
- "start": 47,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": undefined,
- "raw": "",
- },
- },
- ],
- "start": 0,
- "type": "TemplateLiteral",
- },
- "databaseClients": Map {},
- "end": 47,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "raw": false,
- "references": Array [
- Node {
- "end": 46,
- "name": "val",
- "start": 43,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "tag": Node {
- "async": false,
- "body": Node {
- "computed": false,
- "end": 10,
- "object": Node {
- "end": 6,
- "name": "dbCell",
- "start": 0,
- "type": "Identifier",
- },
- "optional": false,
- "property": Node {
- "end": 10,
- "name": "sql",
- "start": 7,
- "type": "Identifier",
- },
- "start": 0,
- "type": "MemberExpression",
- },
- "databaseClients": Map {},
- "end": 10,
- "fileAttachments": Map {},
- "generator": false,
- "input": "dbCell.sql",
- "references": Array [
- Node {
- "end": 6,
- "name": "dbCell",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "CellTag",
- },
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse sql-database-basic.sql > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 47,
- "expressions": Array [
- Node {
- "end": 46,
- "name": "val",
- "start": 43,
- "type": "Identifier",
- },
- ],
- "quasis": Array [
- Node {
- "end": 41,
- "start": 0,
- "tail": false,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "SELECT * FROM my_table WHERE my_column = ",
- },
- },
- Node {
- "end": 47,
- "start": 47,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": undefined,
- "raw": "",
- },
- },
- ],
- "start": 0,
- "type": "TemplateLiteral",
- },
- "databaseClients": Map {},
- "end": 47,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "raw": false,
- "references": Array [
- Node {
- "end": 46,
- "name": "val",
- "start": 43,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "tag": Node {
- "async": true,
- "body": Node {
- "computed": false,
- "end": 38,
- "object": Node {
- "argument": Node {
- "arguments": Array [
- Node {
- "end": 32,
- "raw": "\\"database\\"",
- "start": 22,
- "type": "Literal",
- "value": "database",
- },
- ],
- "callee": Node {
- "end": 21,
- "name": "DatabaseClient",
- "start": 7,
- "type": "Identifier",
- },
- "end": 33,
- "optional": false,
- "start": 7,
- "type": "CallExpression",
- },
- "end": 33,
- "start": 1,
- "type": "AwaitExpression",
- },
- "optional": false,
- "property": Node {
- "end": 38,
- "name": "sql",
- "start": 35,
- "type": "Identifier",
- },
- "start": 0,
- "type": "MemberExpression",
- },
- "databaseClients": Map {
- "database" => Array [
- Object {
- "end": 32,
- "start": 22,
- },
- ],
- },
- "end": 38,
- "fileAttachments": Map {},
- "generator": false,
- "input": "(await DatabaseClient(\\"database\\")).sql",
- "references": Array [
- Node {
- "end": 21,
- "name": "DatabaseClient",
- "start": 7,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "CellTag",
- },
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse template-literal-semicolon.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 11,
- "quasi": Node {
- "end": 11,
- "expressions": Array [],
- "quasis": Array [
- Node {
- "end": 10,
- "start": 5,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": "hello",
- "raw": "hello",
- },
- },
- ],
- "start": 4,
- "type": "TemplateLiteral",
- },
- "start": 0,
- "tag": Node {
- "end": 4,
- "name": "html",
- "start": 0,
- "type": "Identifier",
- },
- "type": "TaggedTemplateExpression",
- },
- "databaseClients": Map {},
- "end": 13,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 4,
- "name": "html",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse this-as-name.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 0,
- "line": 1,
- },
- "message": "Assigning to rvalue (1:0)",
- "pos": 0,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse this.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 4,
- "start": 0,
- "type": "ThisExpression",
- },
- "databaseClients": Map {},
- "end": 5,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse underline.tex > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 54,
- "expressions": Array [],
- "quasis": Array [
- Node {
- "end": 54,
- "start": 0,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "\\\\text{This is some text \\\\underline{with an underline}}",
- },
- },
- ],
- "start": 0,
- "type": "TemplateLiteral",
- },
- "databaseClients": Map {},
- "end": 54,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "raw": true,
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "tag": Node {
- "async": false,
- "body": Node {
- "computed": false,
- "end": 9,
- "object": Node {
- "end": 3,
- "name": "tex",
- "start": 0,
- "type": "Identifier",
- },
- "optional": false,
- "property": Node {
- "end": 9,
- "name": "block",
- "start": 4,
- "type": "Identifier",
- },
- "start": 0,
- "type": "MemberExpression",
- },
- "databaseClients": Map {},
- "end": 9,
- "fileAttachments": Map {},
- "generator": false,
- "input": "tex.block",
- "references": Array [
- Node {
- "end": 3,
- "name": "tex",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "CellTag",
- },
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse var-statement.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 0,
- "line": 1,
- },
- "message": "Unexpected token (1:0)",
- "pos": 0,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse viewof-argument.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 13,
- "line": 1,
- },
- "message": "Unexpected keyword 'viewof' (1:13)",
- "pos": 13,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse viewof-assignment.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 2,
- "line": 2,
- },
- "message": "Assigning to rvalue (2:2)",
- "pos": 4,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse viewof-binding.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 6,
- "line": 2,
- },
- "message": "Unexpected keyword 'viewof' (2:6)",
- "pos": 8,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse viewof-block-cell.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "argument": Node {
- "arguments": Array [],
- "callee": Node {
- "computed": false,
- "end": 33,
- "object": Node {
- "end": 27,
- "name": "DOM",
- "start": 24,
- "type": "Identifier",
- },
- "optional": false,
- "property": Node {
- "end": 33,
- "name": "input",
- "start": 28,
- "type": "Identifier",
- },
- "start": 24,
- "type": "MemberExpression",
- },
- "end": 35,
- "optional": false,
- "start": 24,
- "type": "CallExpression",
- },
- "end": 36,
- "start": 17,
- "type": "ReturnStatement",
- },
- ],
- "end": 38,
- "start": 13,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 39,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 10,
- "id": Node {
- "end": 10,
- "name": "foo",
- "start": 7,
- "type": "Identifier",
- },
- "start": 0,
- "type": "ViewExpression",
- },
- "references": Array [
- Node {
- "end": 27,
- "name": "DOM",
- "start": 24,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse viewof-expression-cell.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "arguments": Array [],
- "callee": Node {
- "computed": false,
- "end": 22,
- "object": Node {
- "end": 16,
- "name": "DOM",
- "start": 13,
- "type": "Identifier",
- },
- "optional": false,
- "property": Node {
- "end": 22,
- "name": "input",
- "start": 17,
- "type": "Identifier",
- },
- "start": 13,
- "type": "MemberExpression",
- },
- "end": 24,
- "optional": false,
- "start": 13,
- "type": "CallExpression",
- },
- "databaseClients": Map {},
- "end": 25,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 10,
- "id": Node {
- "end": 10,
- "name": "foo",
- "start": 7,
- "type": "Identifier",
- },
- "start": 0,
- "type": "ViewExpression",
- },
- "references": Array [
- Node {
- "end": 16,
- "name": "DOM",
- "start": 13,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse viewof-in-markdown.md > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 37,
- "expressions": Array [
- Node {
- "computed": true,
- "end": 34,
- "object": Node {
- "end": 22,
- "name": "object",
- "start": 16,
- "type": "Identifier",
- },
- "optional": false,
- "property": Node {
- "end": 33,
- "id": Node {
- "end": 33,
- "name": "foo",
- "start": 30,
- "type": "Identifier",
- },
- "start": 23,
- "type": "ViewExpression",
- },
- "start": 16,
- "type": "MemberExpression",
- },
- ],
- "quasis": Array [
- Node {
- "end": 14,
- "start": 0,
- "tail": false,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "# \`Code Title ",
- },
- },
- Node {
- "end": 37,
- "start": 35,
- "tail": true,
- "type": "TemplateElement",
- "value": Object {
- "cooked": null,
- "raw": "\`\\n",
- },
- },
- ],
- "start": 0,
- "type": "TemplateLiteral",
- },
- "databaseClients": Map {},
- "end": 37,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "raw": false,
- "references": Array [
- Node {
- "end": 22,
- "name": "object",
- "start": 16,
- "type": "Identifier",
- },
- Node {
- "end": 33,
- "id": Node {
- "end": 33,
- "name": "foo",
- "start": 30,
- "type": "Identifier",
- },
- "start": 23,
- "type": "ViewExpression",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "tag": Node {
- "async": false,
- "body": Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- "databaseClients": Map {},
- "end": 2,
- "fileAttachments": Map {},
- "generator": false,
- "input": "md",
- "references": Array [
- Node {
- "end": 2,
- "name": "md",
- "start": 0,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "CellTag",
- },
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse viewof-internal-comment.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "arguments": Array [],
- "callee": Node {
- "computed": false,
- "end": 36,
- "object": Node {
- "end": 30,
- "name": "DOM",
- "start": 27,
- "type": "Identifier",
- },
- "optional": false,
- "property": Node {
- "end": 36,
- "name": "range",
- "start": 31,
- "type": "Identifier",
- },
- "start": 27,
- "type": "MemberExpression",
- },
- "end": 38,
- "optional": false,
- "start": 27,
- "type": "CallExpression",
- },
- "databaseClients": Map {},
- "end": 39,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 24,
- "id": Node {
- "end": 24,
- "name": "bar",
- "start": 21,
- "type": "Identifier",
- },
- "start": 0,
- "type": "ViewExpression",
- },
- "references": Array [
- Node {
- "end": 30,
- "name": "DOM",
- "start": 27,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse viewof-let.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 6,
- "line": 2,
- },
- "message": "Unexpected keyword 'viewof' (2:6)",
- "pos": 8,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse viewof-member-expression.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "computed": false,
- "end": 15,
- "object": Node {
- "end": 10,
- "id": Node {
- "end": 10,
- "name": "foo",
- "start": 7,
- "type": "Identifier",
- },
- "start": 0,
- "type": "ViewExpression",
- },
- "optional": false,
- "property": Node {
- "end": 15,
- "name": "name",
- "start": 11,
- "type": "Identifier",
- },
- "start": 0,
- "type": "MemberExpression",
- },
- "databaseClients": Map {},
- "end": 16,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 10,
- "id": Node {
- "end": 10,
- "name": "foo",
- "start": 7,
- "type": "Identifier",
- },
- "start": 0,
- "type": "ViewExpression",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse viewof-member.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 14,
- "line": 1,
- },
- "message": "Unexpected token (1:14)",
- "pos": 14,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse viewof-orphan.js > must match snapshot 1`] = `
-Object {
- "error": Object {
- "loc": Object {
- "column": 7,
- "line": 1,
- },
- "message": "Unexpected token (1:7)",
- "pos": 7,
- "type": "SyntaxError",
- },
-}
-`
-
-exports[`test/parse-test.js TAP parse viewof-property.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 22,
- "left": Node {
- "computed": true,
- "end": 18,
- "object": Node {
- "end": 6,
- "name": "object",
- "start": 0,
- "type": "Identifier",
- },
- "optional": false,
- "property": Node {
- "end": 17,
- "id": Node {
- "end": 17,
- "name": "foo",
- "start": 14,
- "type": "Identifier",
- },
- "start": 7,
- "type": "ViewExpression",
- },
- "start": 0,
- "type": "MemberExpression",
- },
- "operator": "+",
- "right": Node {
- "end": 22,
- "raw": "2",
- "start": 21,
- "type": "Literal",
- "value": 2,
- },
- "start": 0,
- "type": "BinaryExpression",
- },
- "databaseClients": Map {},
- "end": 23,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 6,
- "name": "object",
- "start": 0,
- "type": "Identifier",
- },
- Node {
- "end": 17,
- "id": Node {
- "end": 17,
- "name": "foo",
- "start": 14,
- "type": "Identifier",
- },
- "start": 7,
- "type": "ViewExpression",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse viewof-reference-internal-comment.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "end": 24,
- "id": Node {
- "end": 24,
- "name": "bar",
- "start": 21,
- "type": "Identifier",
- },
- "start": 0,
- "type": "ViewExpression",
- },
- "databaseClients": Map {},
- "end": 25,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 24,
- "id": Node {
- "end": 24,
- "name": "bar",
- "start": 21,
- "type": "Identifier",
- },
- "start": 0,
- "type": "ViewExpression",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse viewof-reference.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "computed": false,
- "end": 20,
- "object": Node {
- "end": 12,
- "id": Node {
- "end": 12,
- "name": "input",
- "start": 7,
- "type": "Identifier",
- },
- "start": 0,
- "type": "ViewExpression",
- },
- "optional": false,
- "property": Node {
- "end": 20,
- "name": "tagName",
- "start": 13,
- "type": "Identifier",
- },
- "start": 0,
- "type": "MemberExpression",
- },
- "databaseClients": Map {},
- "end": 21,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 12,
- "id": Node {
- "end": 12,
- "name": "input",
- "start": 7,
- "type": "Identifier",
- },
- "start": 0,
- "type": "ViewExpression",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse yield-await.js > must match snapshot 1`] = `
-Node {
- "async": true,
- "body": Node {
- "body": Array [
- Node {
- "end": 16,
- "expression": Node {
- "argument": Node {
- "end": 15,
- "name": "value",
- "start": 10,
- "type": "Identifier",
- },
- "delegate": false,
- "end": 15,
- "start": 4,
- "type": "YieldExpression",
- },
- "start": 4,
- "type": "ExpressionStatement",
- },
- Node {
- "end": 33,
- "expression": Node {
- "argument": Node {
- "end": 32,
- "name": "promise",
- "start": 25,
- "type": "Identifier",
- },
- "end": 32,
- "start": 19,
- "type": "AwaitExpression",
- },
- "start": 19,
- "type": "ExpressionStatement",
- },
- ],
- "end": 35,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 36,
- "fileAttachments": Map {},
- "generator": true,
- "id": null,
- "references": Array [
- Node {
- "end": 15,
- "name": "value",
- "start": 10,
- "type": "Identifier",
- },
- Node {
- "end": 32,
- "name": "promise",
- "start": 25,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse yield-block-cell.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "end": 16,
- "expression": Node {
- "argument": Node {
- "end": 15,
- "name": "value",
- "start": 10,
- "type": "Identifier",
- },
- "delegate": false,
- "end": 15,
- "start": 4,
- "type": "YieldExpression",
- },
- "start": 4,
- "type": "ExpressionStatement",
- },
- ],
- "end": 18,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 19,
- "fileAttachments": Map {},
- "generator": true,
- "id": null,
- "references": Array [
- Node {
- "end": 15,
- "name": "value",
- "start": 10,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse yield-expression-cell.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "argument": Node {
- "end": 11,
- "name": "value",
- "start": 6,
- "type": "Identifier",
- },
- "delegate": false,
- "end": 11,
- "start": 0,
- "type": "YieldExpression",
- },
- "databaseClients": Map {},
- "end": 12,
- "fileAttachments": Map {},
- "generator": true,
- "id": null,
- "references": Array [
- Node {
- "end": 11,
- "name": "value",
- "start": 6,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse yield-in-function.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "async": false,
- "body": Node {
- "body": Array [
- Node {
- "end": 40,
- "expression": Node {
- "argument": Node {
- "end": 39,
- "name": "value",
- "start": 34,
- "type": "Identifier",
- },
- "delegate": false,
- "end": 39,
- "start": 28,
- "type": "YieldExpression",
- },
- "start": 28,
- "type": "ExpressionStatement",
- },
- ],
- "end": 44,
- "start": 22,
- "type": "BlockStatement",
- },
- "end": 44,
- "expression": false,
- "generator": true,
- "id": Node {
- "end": 19,
- "name": "inner",
- "start": 14,
- "type": "Identifier",
- },
- "params": Array [],
- "start": 4,
- "type": "FunctionDeclaration",
- },
- ],
- "end": 46,
- "start": 0,
- "type": "BlockStatement",
- },
- "databaseClients": Map {},
- "end": 47,
- "fileAttachments": Map {},
- "generator": false,
- "id": null,
- "references": Array [
- Node {
- "end": 39,
- "name": "value",
- "start": 34,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parse yield-star-expression-cell.js > must match snapshot 1`] = `
-Node {
- "async": false,
- "body": Node {
- "argument": Node {
- "end": 13,
- "name": "values",
- "start": 7,
- "type": "Identifier",
- },
- "delegate": true,
- "end": 13,
- "start": 0,
- "type": "YieldExpression",
- },
- "databaseClients": Map {},
- "end": 14,
- "fileAttachments": Map {},
- "generator": true,
- "id": null,
- "references": Array [
- Node {
- "end": 13,
- "name": "values",
- "start": 7,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
-}
-`
-
-exports[`test/parse-test.js TAP parseModule > must match snapshot 1`] = `
-Node {
- "cells": Array [
- Node {
- "async": false,
- "body": Node {
- "end": 5,
- "raw": "1",
- "start": 4,
- "type": "Literal",
- "value": 1,
- },
- "databaseClients": Map {},
- "end": 6,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 1,
- "name": "a",
- "start": 0,
- "type": "Identifier",
- },
- "input": "a = 1;\\n\\nb = 2;\\n\\nc = a + b",
- "references": Array [],
- "secrets": Map {},
- "start": 0,
- "type": "Cell",
- },
- Node {
- "async": false,
- "body": Node {
- "end": 13,
- "raw": "2",
- "start": 12,
- "type": "Literal",
- "value": 2,
- },
- "databaseClients": Map {},
- "end": 14,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 9,
- "name": "b",
- "start": 8,
- "type": "Identifier",
- },
- "input": "a = 1;\\n\\nb = 2;\\n\\nc = a + b",
- "references": Array [],
- "secrets": Map {},
- "start": 8,
- "type": "Cell",
- },
- Node {
- "async": false,
- "body": Node {
- "end": 25,
- "left": Node {
- "end": 21,
- "name": "a",
- "start": 20,
- "type": "Identifier",
- },
- "operator": "+",
- "right": Node {
- "end": 25,
- "name": "b",
- "start": 24,
- "type": "Identifier",
- },
- "start": 20,
- "type": "BinaryExpression",
- },
- "databaseClients": Map {},
- "end": 25,
- "fileAttachments": Map {},
- "generator": false,
- "id": Node {
- "end": 17,
- "name": "c",
- "start": 16,
- "type": "Identifier",
- },
- "input": "a = 1;\\n\\nb = 2;\\n\\nc = a + b",
- "references": Array [
- Node {
- "end": 21,
- "name": "a",
- "start": 20,
- "type": "Identifier",
- },
- Node {
- "end": 25,
- "name": "b",
- "start": 24,
- "type": "Identifier",
- },
- ],
- "secrets": Map {},
- "start": 16,
- "type": "Cell",
- },
- ],
- "end": 25,
- "start": 0,
- "type": "Program",
-}
-`
diff --git a/test/.eslintrc.json b/test/.eslintrc.json
new file mode 100644
index 0000000..7eeefc3
--- /dev/null
+++ b/test/.eslintrc.json
@@ -0,0 +1,5 @@
+{
+ "env": {
+ "mocha": true
+ }
+}
diff --git a/test/bench.js b/test/bench.js
deleted file mode 100644
index b1da251..0000000
--- a/test/bench.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import {performance} from "perf_hooks";
-import {parseCell} from "../src/index.js";
-
-function readStdin() {
- return new Promise((resolve, reject) => {
- const chunks = [];
- process.stdin
- .on("error", reject)
- .on("data", (chunk) => chunks.push(chunk))
- .on("end", () => resolve(chunks.join("")))
- .setEncoding("utf8");
- });
-}
-
-readStdin().then((input) => {
- const samples = [];
-
- for (let i = 0; i < 40; ++i) {
- const start = performance.now();
- try {
- parseCell(input);
- } catch (ignore) {}
- const end = performance.now();
- samples.push(end - start);
- }
-
- console.log(samples.sort((a, b) => a - b)[samples.length >> 1]);
-});
diff --git a/test/input/basic.db.sql b/test/input/basic.db.sql
new file mode 100644
index 0000000..6862048
--- /dev/null
+++ b/test/input/basic.db.sql
@@ -0,0 +1 @@
+SELECT * FROM my_table WHERE my_column = ${val}
diff --git a/test/input/sql-cell-basic.sql b/test/input/basic.sql
similarity index 100%
rename from test/input/sql-cell-basic.sql
rename to test/input/basic.sql
diff --git a/test/input/markdown-interpolation.md b/test/input/markdown-interpolation.md
new file mode 100644
index 0000000..57fb097
--- /dev/null
+++ b/test/input/markdown-interpolation.md
@@ -0,0 +1,3 @@
+Count: ${++mutable count}
+View: ${viewof Foo}
+Regular Value: ${value}
diff --git a/test/input/named-class-with-field.js b/test/input/named-class-with-field.js
new file mode 100644
index 0000000..3485e4b
--- /dev/null
+++ b/test/input/named-class-with-field.js
@@ -0,0 +1,3 @@
+class Foo {
+ field = "field";
+}
diff --git a/test/input/named-class-with-method.js b/test/input/named-class-with-method.js
new file mode 100644
index 0000000..3b531c8
--- /dev/null
+++ b/test/input/named-class-with-method.js
@@ -0,0 +1,5 @@
+class Foo {
+ method() {
+ return "foo";
+ }
+}
diff --git a/test/input/named-class-with-private-field.js b/test/input/named-class-with-private-field.js
new file mode 100644
index 0000000..9c7b96e
--- /dev/null
+++ b/test/input/named-class-with-private-field.js
@@ -0,0 +1,4 @@
+class Foo {
+ #field = "field";
+ #method() {}
+}
diff --git a/test/input/named-class-with-static-field.js b/test/input/named-class-with-static-field.js
new file mode 100644
index 0000000..83dc656
--- /dev/null
+++ b/test/input/named-class-with-static-field.js
@@ -0,0 +1,3 @@
+class Foo {
+ static field = "field";
+}
diff --git a/test/input/sql-database-basic.sql b/test/input/sql-database-basic.sql
deleted file mode 100644
index f75d27f..0000000
--- a/test/input/sql-database-basic.sql
+++ /dev/null
@@ -1 +0,0 @@
-SELECT * FROM my_table WHERE my_column = ${val}
\ No newline at end of file
diff --git a/test/output/anonymous-block-cell.js.json b/test/output/anonymous-block-cell.js.json
new file mode 100644
index 0000000..e225450
--- /dev/null
+++ b/test/output/anonymous-block-cell.js.json
@@ -0,0 +1,31 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 17,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 16,
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "start": 4,
+ "end": 14,
+ "argument": {
+ "type": "Literal",
+ "start": 11,
+ "end": 13,
+ "value": 42,
+ "raw": "42"
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/anonymous-expression-cell.js.json b/test/output/anonymous-expression-cell.js.json
new file mode 100644
index 0000000..3b0de53
--- /dev/null
+++ b/test/output/anonymous-expression-cell.js.json
@@ -0,0 +1,19 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 3,
+ "id": null,
+ "body": {
+ "type": "Literal",
+ "start": 0,
+ "end": 2,
+ "value": 42,
+ "raw": "42"
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/anonymous-function.js.json b/test/output/anonymous-function.js.json
new file mode 100644
index 0000000..b894aef
--- /dev/null
+++ b/test/output/anonymous-function.js.json
@@ -0,0 +1,41 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 26,
+ "id": null,
+ "body": {
+ "type": "FunctionExpression",
+ "start": 0,
+ "end": 25,
+ "id": null,
+ "expression": false,
+ "generator": false,
+ "async": false,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 11,
+ "end": 25,
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "start": 13,
+ "end": 23,
+ "argument": {
+ "type": "Literal",
+ "start": 20,
+ "end": 22,
+ "value": 42,
+ "raw": "42"
+ }
+ }
+ ]
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/arguments-name.js.json b/test/output/arguments-name.js.json
new file mode 100644
index 0000000..8117b88
--- /dev/null
+++ b/test/output/arguments-name.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Identifier 'arguments' is reserved (1:0)",
+ "pos": 0,
+ "loc": {
+ "line": 1,
+ "column": 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/await-block-cell.js.json b/test/output/await-block-cell.js.json
new file mode 100644
index 0000000..631d0cc
--- /dev/null
+++ b/test/output/await-block-cell.js.json
@@ -0,0 +1,42 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 21,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 20,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 4,
+ "end": 18,
+ "expression": {
+ "type": "AwaitExpression",
+ "start": 4,
+ "end": 17,
+ "argument": {
+ "type": "Identifier",
+ "start": 10,
+ "end": 17,
+ "name": "promise"
+ }
+ }
+ }
+ ]
+ },
+ "async": true,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 10,
+ "end": 17,
+ "name": "promise"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/await-in-arrow-function-expression.js.json b/test/output/await-in-arrow-function-expression.js.json
new file mode 100644
index 0000000..59ff424
--- /dev/null
+++ b/test/output/await-in-arrow-function-expression.js.json
@@ -0,0 +1,52 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 33,
+ "id": null,
+ "body": {
+ "type": "ArrowFunctionExpression",
+ "start": 0,
+ "end": 32,
+ "id": null,
+ "expression": false,
+ "generator": false,
+ "async": true,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 12,
+ "end": 32,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 16,
+ "end": 30,
+ "expression": {
+ "type": "AwaitExpression",
+ "start": 16,
+ "end": 29,
+ "argument": {
+ "type": "Identifier",
+ "start": 22,
+ "end": 29,
+ "name": "promise"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 22,
+ "end": 29,
+ "name": "promise"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/await-in-arrow-function.js.json b/test/output/await-in-arrow-function.js.json
new file mode 100644
index 0000000..00e0101
--- /dev/null
+++ b/test/output/await-in-arrow-function.js.json
@@ -0,0 +1,78 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 58,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 57,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 4,
+ "end": 55,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 10,
+ "end": 54,
+ "id": {
+ "type": "Identifier",
+ "start": 10,
+ "end": 15,
+ "name": "inner"
+ },
+ "init": {
+ "type": "ArrowFunctionExpression",
+ "start": 18,
+ "end": 54,
+ "id": null,
+ "expression": false,
+ "generator": false,
+ "async": true,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 30,
+ "end": 54,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 36,
+ "end": 50,
+ "expression": {
+ "type": "AwaitExpression",
+ "start": 36,
+ "end": 49,
+ "argument": {
+ "type": "Identifier",
+ "start": 42,
+ "end": 49,
+ "name": "promise"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "kind": "const"
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 42,
+ "end": 49,
+ "name": "promise"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/await-in-class.js.json b/test/output/await-in-class.js.json
new file mode 100644
index 0000000..36c122a
--- /dev/null
+++ b/test/output/await-in-class.js.json
@@ -0,0 +1,92 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 72,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 71,
+ "body": [
+ {
+ "type": "ClassDeclaration",
+ "start": 4,
+ "end": 69,
+ "id": {
+ "type": "Identifier",
+ "start": 10,
+ "end": 15,
+ "name": "Inner"
+ },
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "start": 16,
+ "end": 69,
+ "body": [
+ {
+ "type": "MethodDefinition",
+ "start": 22,
+ "end": 65,
+ "static": false,
+ "computed": false,
+ "key": {
+ "type": "Identifier",
+ "start": 28,
+ "end": 34,
+ "name": "method"
+ },
+ "kind": "method",
+ "value": {
+ "type": "FunctionExpression",
+ "start": 34,
+ "end": 65,
+ "id": null,
+ "expression": false,
+ "generator": false,
+ "async": true,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 37,
+ "end": 65,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 45,
+ "end": 59,
+ "expression": {
+ "type": "AwaitExpression",
+ "start": 45,
+ "end": 58,
+ "argument": {
+ "type": "Identifier",
+ "start": 51,
+ "end": 58,
+ "name": "promise"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 51,
+ "end": 58,
+ "name": "promise"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/await-in-function.js.json b/test/output/await-in-function.js.json
new file mode 100644
index 0000000..db5bf4a
--- /dev/null
+++ b/test/output/await-in-function.js.json
@@ -0,0 +1,64 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 54,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 53,
+ "body": [
+ {
+ "type": "FunctionDeclaration",
+ "start": 4,
+ "end": 51,
+ "id": {
+ "type": "Identifier",
+ "start": 19,
+ "end": 24,
+ "name": "inner"
+ },
+ "expression": false,
+ "generator": false,
+ "async": true,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 27,
+ "end": 51,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 33,
+ "end": 47,
+ "expression": {
+ "type": "AwaitExpression",
+ "start": 33,
+ "end": 46,
+ "argument": {
+ "type": "Identifier",
+ "start": 39,
+ "end": 46,
+ "name": "promise"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 39,
+ "end": 46,
+ "name": "promise"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/await-in-markdown.md.json b/test/output/await-in-markdown.md.json
new file mode 100644
index 0000000..84b2643
--- /dev/null
+++ b/test/output/await-in-markdown.md.json
@@ -0,0 +1,92 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 30,
+ "id": null,
+ "body": {
+ "type": "TemplateLiteral",
+ "start": 0,
+ "end": 30,
+ "expressions": [
+ {
+ "type": "AwaitExpression",
+ "start": 4,
+ "end": 26,
+ "argument": {
+ "type": "CallExpression",
+ "start": 10,
+ "end": 26,
+ "callee": {
+ "type": "Identifier",
+ "start": 10,
+ "end": 24,
+ "name": "importantValue"
+ },
+ "arguments": [],
+ "optional": false
+ }
+ }
+ ],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 0,
+ "end": 2,
+ "value": {
+ "raw": "**",
+ "cooked": null
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 27,
+ "end": 30,
+ "value": {
+ "raw": "**\n",
+ "cooked": null
+ },
+ "tail": true
+ }
+ ]
+ },
+ "async": true,
+ "generator": false,
+ "tag": {
+ "type": "CellTag",
+ "start": 0,
+ "end": 2,
+ "body": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ },
+ "input": "md",
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+ },
+ "raw": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 10,
+ "end": 24,
+ "name": "importantValue"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/await-yield.js.json b/test/output/await-yield.js.json
new file mode 100644
index 0000000..f033df3
--- /dev/null
+++ b/test/output/await-yield.js.json
@@ -0,0 +1,65 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 36,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 35,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 4,
+ "end": 18,
+ "expression": {
+ "type": "AwaitExpression",
+ "start": 4,
+ "end": 17,
+ "argument": {
+ "type": "Identifier",
+ "start": 10,
+ "end": 17,
+ "name": "promise"
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "start": 21,
+ "end": 33,
+ "expression": {
+ "type": "YieldExpression",
+ "start": 21,
+ "end": 32,
+ "delegate": false,
+ "argument": {
+ "type": "Identifier",
+ "start": 27,
+ "end": 32,
+ "name": "value"
+ }
+ }
+ }
+ ]
+ },
+ "async": true,
+ "generator": true,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 10,
+ "end": 17,
+ "name": "promise"
+ },
+ {
+ "type": "Identifier",
+ "start": 27,
+ "end": 32,
+ "name": "value"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/backslash-after-dollar-markdown.md.json b/test/output/backslash-after-dollar-markdown.md.json
new file mode 100644
index 0000000..8c0ae6e
--- /dev/null
+++ b/test/output/backslash-after-dollar-markdown.md.json
@@ -0,0 +1,56 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 8,
+ "id": null,
+ "body": {
+ "type": "TemplateLiteral",
+ "start": 0,
+ "end": 8,
+ "expressions": [],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 0,
+ "end": 8,
+ "value": {
+ "raw": "$\\{foo}\n",
+ "cooked": null
+ },
+ "tail": true
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "tag": {
+ "type": "CellTag",
+ "start": 0,
+ "end": 2,
+ "body": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ },
+ "input": "md",
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+ },
+ "raw": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/backslash-before-dollar-markdown.md.json b/test/output/backslash-before-dollar-markdown.md.json
new file mode 100644
index 0000000..c331294
--- /dev/null
+++ b/test/output/backslash-before-dollar-markdown.md.json
@@ -0,0 +1,56 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 8,
+ "id": null,
+ "body": {
+ "type": "TemplateLiteral",
+ "start": 0,
+ "end": 8,
+ "expressions": [],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 0,
+ "end": 8,
+ "value": {
+ "raw": "\\${foo}\n",
+ "cooked": null
+ },
+ "tail": true
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "tag": {
+ "type": "CellTag",
+ "start": 0,
+ "end": 2,
+ "body": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ },
+ "input": "md",
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+ },
+ "raw": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/backslash-markdown.md.json b/test/output/backslash-markdown.md.json
new file mode 100644
index 0000000..70e4585
--- /dev/null
+++ b/test/output/backslash-markdown.md.json
@@ -0,0 +1,56 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 27,
+ "id": null,
+ "body": {
+ "type": "TemplateLiteral",
+ "start": 0,
+ "end": 27,
+ "expressions": [],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 0,
+ "end": 27,
+ "value": {
+ "raw": "\\Slash before, slash after\\",
+ "cooked": null
+ },
+ "tail": true
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "tag": {
+ "type": "CellTag",
+ "start": 0,
+ "end": 2,
+ "body": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ },
+ "input": "md",
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+ },
+ "raw": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/bare-dynamic-import.js.json b/test/output/bare-dynamic-import.js.json
new file mode 100644
index 0000000..6200ed7
--- /dev/null
+++ b/test/output/bare-dynamic-import.js.json
@@ -0,0 +1,24 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 14,
+ "id": null,
+ "body": {
+ "type": "ImportExpression",
+ "start": 0,
+ "end": 13,
+ "source": {
+ "type": "Literal",
+ "start": 7,
+ "end": 12,
+ "value": "bar",
+ "raw": "\"bar\""
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/basic.db.sql.json b/test/output/basic.db.sql.json
new file mode 100644
index 0000000..c27a53d
--- /dev/null
+++ b/test/output/basic.db.sql.json
@@ -0,0 +1,123 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 48,
+ "id": null,
+ "body": {
+ "type": "TemplateLiteral",
+ "start": 0,
+ "end": 48,
+ "expressions": [
+ {
+ "type": "Identifier",
+ "start": 43,
+ "end": 46,
+ "name": "val"
+ }
+ ],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 0,
+ "end": 41,
+ "value": {
+ "raw": "SELECT * FROM my_table WHERE my_column = ",
+ "cooked": null
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 47,
+ "end": 48,
+ "value": {
+ "raw": "\n",
+ "cooked": null
+ },
+ "tail": true
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "tag": {
+ "type": "CellTag",
+ "start": 0,
+ "end": 38,
+ "body": {
+ "type": "MemberExpression",
+ "start": 0,
+ "end": 38,
+ "object": {
+ "type": "AwaitExpression",
+ "start": 1,
+ "end": 33,
+ "argument": {
+ "type": "CallExpression",
+ "start": 7,
+ "end": 33,
+ "callee": {
+ "type": "Identifier",
+ "start": 7,
+ "end": 21,
+ "name": "DatabaseClient"
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "start": 22,
+ "end": 32,
+ "value": "database",
+ "raw": "\"database\""
+ }
+ ],
+ "optional": false
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 35,
+ "end": 38,
+ "name": "sql"
+ },
+ "computed": false,
+ "optional": false
+ },
+ "input": "(await DatabaseClient(\"database\")).sql",
+ "async": true,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 7,
+ "end": 21,
+ "name": "DatabaseClient"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [
+ [
+ "database",
+ [
+ {
+ "start": 22,
+ "end": 32
+ }
+ ]
+ ]
+ ],
+ "secrets": []
+ },
+ "raw": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 43,
+ "end": 46,
+ "name": "val"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/basic.html.json b/test/output/basic.html.json
new file mode 100644
index 0000000..4329cff
--- /dev/null
+++ b/test/output/basic.html.json
@@ -0,0 +1,93 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 19,
+ "id": null,
+ "body": {
+ "type": "TemplateLiteral",
+ "start": 0,
+ "end": 19,
+ "expressions": [
+ {
+ "type": "Identifier",
+ "start": 7,
+ "end": 12,
+ "name": "hello"
+ }
+ ],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 0,
+ "end": 5,
+ "value": {
+ "raw": "",
+ "cooked": null
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 13,
+ "end": 19,
+ "value": {
+ "raw": "
",
+ "cooked": null
+ },
+ "tail": true
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "tag": {
+ "type": "CellTag",
+ "start": 0,
+ "end": 8,
+ "body": {
+ "type": "MemberExpression",
+ "start": 0,
+ "end": 8,
+ "object": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "htl"
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 4,
+ "end": 8,
+ "name": "html"
+ },
+ "computed": false,
+ "optional": false
+ },
+ "input": "htl.html",
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "htl"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+ },
+ "raw": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 7,
+ "end": 12,
+ "name": "hello"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/basic.sql.json b/test/output/basic.sql.json
new file mode 100644
index 0000000..98f49c1
--- /dev/null
+++ b/test/output/basic.sql.json
@@ -0,0 +1,92 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 47,
+ "id": null,
+ "body": {
+ "type": "TemplateLiteral",
+ "start": 0,
+ "end": 47,
+ "expressions": [
+ {
+ "type": "Identifier",
+ "start": 43,
+ "end": 46,
+ "name": "val"
+ }
+ ],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 0,
+ "end": 41,
+ "value": {
+ "raw": "SELECT * FROM my_table WHERE my_column = ",
+ "cooked": null
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 47,
+ "end": 47,
+ "value": {
+ "raw": ""
+ },
+ "tail": true
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "tag": {
+ "type": "CellTag",
+ "start": 0,
+ "end": 6,
+ "body": {
+ "type": "MemberExpression",
+ "start": 0,
+ "end": 6,
+ "object": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "db"
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 3,
+ "end": 6,
+ "name": "sql"
+ },
+ "computed": false,
+ "optional": false
+ },
+ "input": "db.sql",
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "db"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+ },
+ "raw": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 43,
+ "end": 46,
+ "name": "val"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/basic.tex.json b/test/output/basic.tex.json
new file mode 100644
index 0000000..9192d88
--- /dev/null
+++ b/test/output/basic.tex.json
@@ -0,0 +1,114 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 33,
+ "id": null,
+ "body": {
+ "type": "TemplateLiteral",
+ "start": 0,
+ "end": 33,
+ "expressions": [
+ {
+ "type": "Identifier",
+ "start": 2,
+ "end": 11,
+ "name": "numerator"
+ },
+ {
+ "type": "Identifier",
+ "start": 21,
+ "end": 32,
+ "name": "denominator"
+ }
+ ],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 0,
+ "end": 0,
+ "value": {
+ "raw": "",
+ "cooked": null
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 12,
+ "end": 19,
+ "value": {
+ "raw": " \\over ",
+ "cooked": null
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 33,
+ "end": 33,
+ "value": {
+ "raw": ""
+ },
+ "tail": true
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "tag": {
+ "type": "CellTag",
+ "start": 0,
+ "end": 9,
+ "body": {
+ "type": "MemberExpression",
+ "start": 0,
+ "end": 9,
+ "object": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "tex"
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 4,
+ "end": 9,
+ "name": "block"
+ },
+ "computed": false,
+ "optional": false
+ },
+ "input": "tex.block",
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "tex"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+ },
+ "raw": true,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 2,
+ "end": 11,
+ "name": "numerator"
+ },
+ {
+ "type": "Identifier",
+ "start": 21,
+ "end": 32,
+ "name": "denominator"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/bigint-zero.js.json b/test/output/bigint-zero.js.json
new file mode 100644
index 0000000..4174f58
--- /dev/null
+++ b/test/output/bigint-zero.js.json
@@ -0,0 +1,20 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 3,
+ "id": null,
+ "body": {
+ "type": "Literal",
+ "start": 0,
+ "end": 2,
+ "value": "0",
+ "raw": "0n",
+ "bigint": "0"
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/bigint.js.json b/test/output/bigint.js.json
new file mode 100644
index 0000000..f520b63
--- /dev/null
+++ b/test/output/bigint.js.json
@@ -0,0 +1,39 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 10,
+ "id": null,
+ "body": {
+ "type": "BinaryExpression",
+ "start": 0,
+ "end": 9,
+ "left": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "foo"
+ },
+ "operator": "+",
+ "right": {
+ "type": "Literal",
+ "start": 6,
+ "end": 9,
+ "value": "42",
+ "raw": "42n",
+ "bigint": "42"
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "foo"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/binary-expression.js.json b/test/output/binary-expression.js.json
new file mode 100644
index 0000000..9af3f07
--- /dev/null
+++ b/test/output/binary-expression.js.json
@@ -0,0 +1,38 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 9,
+ "id": null,
+ "body": {
+ "type": "BinaryExpression",
+ "start": 0,
+ "end": 8,
+ "left": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "foo"
+ },
+ "operator": "+",
+ "right": {
+ "type": "Literal",
+ "start": 6,
+ "end": 8,
+ "value": 42,
+ "raw": "42"
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "foo"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/block-leading-comment.js.json b/test/output/block-leading-comment.js.json
new file mode 100644
index 0000000..c037841
--- /dev/null
+++ b/test/output/block-leading-comment.js.json
@@ -0,0 +1,36 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 44,
+ "id": {
+ "type": "Identifier",
+ "start": 21,
+ "end": 24,
+ "name": "foo"
+ },
+ "body": {
+ "type": "BlockStatement",
+ "start": 27,
+ "end": 43,
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "start": 31,
+ "end": 41,
+ "argument": {
+ "type": "Literal",
+ "start": 38,
+ "end": 40,
+ "value": 42,
+ "raw": "42"
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/block-trailing-comment.js.json b/test/output/block-trailing-comment.js.json
new file mode 100644
index 0000000..d570361
--- /dev/null
+++ b/test/output/block-trailing-comment.js.json
@@ -0,0 +1,36 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 42,
+ "id": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "foo"
+ },
+ "body": {
+ "type": "BlockStatement",
+ "start": 6,
+ "end": 22,
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "start": 10,
+ "end": 20,
+ "argument": {
+ "type": "Literal",
+ "start": 17,
+ "end": 19,
+ "value": 42,
+ "raw": "42"
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/catch-clause.js.json b/test/output/catch-clause.js.json
new file mode 100644
index 0000000..e17c235
--- /dev/null
+++ b/test/output/catch-clause.js.json
@@ -0,0 +1,129 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 86,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 85,
+ "body": [
+ {
+ "type": "TryStatement",
+ "start": 4,
+ "end": 83,
+ "block": {
+ "type": "BlockStatement",
+ "start": 8,
+ "end": 53,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 14,
+ "end": 26,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 18,
+ "end": 25,
+ "id": {
+ "type": "ArrayPattern",
+ "start": 18,
+ "end": 21,
+ "elements": [
+ {
+ "type": "Identifier",
+ "start": 19,
+ "end": 20,
+ "name": "x"
+ }
+ ]
+ },
+ "init": {
+ "type": "Identifier",
+ "start": 24,
+ "end": 25,
+ "name": "y"
+ }
+ }
+ ],
+ "kind": "let"
+ },
+ {
+ "type": "ExpressionStatement",
+ "start": 31,
+ "end": 35,
+ "expression": {
+ "type": "UpdateExpression",
+ "start": 31,
+ "end": 34,
+ "operator": "++",
+ "prefix": false,
+ "argument": {
+ "type": "Identifier",
+ "start": 31,
+ "end": 32,
+ "name": "x"
+ }
+ }
+ },
+ {
+ "type": "ReturnStatement",
+ "start": 40,
+ "end": 49,
+ "argument": {
+ "type": "Identifier",
+ "start": 47,
+ "end": 48,
+ "name": "x"
+ }
+ }
+ ]
+ },
+ "handler": {
+ "type": "CatchClause",
+ "start": 54,
+ "end": 83,
+ "param": {
+ "type": "Identifier",
+ "start": 61,
+ "end": 62,
+ "name": "e"
+ },
+ "body": {
+ "type": "BlockStatement",
+ "start": 64,
+ "end": 83,
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "start": 70,
+ "end": 79,
+ "argument": {
+ "type": "Identifier",
+ "start": 77,
+ "end": 78,
+ "name": "e"
+ }
+ }
+ ]
+ }
+ },
+ "finalizer": null
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 24,
+ "end": 25,
+ "name": "y"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/comma-then-comment.js.json b/test/output/comma-then-comment.js.json
new file mode 100644
index 0000000..e69758a
--- /dev/null
+++ b/test/output/comma-then-comment.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected end of input (2:0)",
+ "pos": 30,
+ "loc": {
+ "line": 2,
+ "column": 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/comment.js.json b/test/output/comment.js.json
new file mode 100644
index 0000000..c8396c8
--- /dev/null
+++ b/test/output/comment.js.json
@@ -0,0 +1,13 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 19,
+ "id": null,
+ "body": null,
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/computed-property-name.js.json b/test/output/computed-property-name.js.json
new file mode 100644
index 0000000..2de1725
--- /dev/null
+++ b/test/output/computed-property-name.js.json
@@ -0,0 +1,64 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 28,
+ "id": null,
+ "body": {
+ "type": "ArrowFunctionExpression",
+ "start": 0,
+ "end": 27,
+ "id": null,
+ "expression": true,
+ "generator": false,
+ "async": false,
+ "params": [
+ {
+ "type": "ObjectPattern",
+ "start": 1,
+ "end": 17,
+ "properties": [
+ {
+ "type": "Property",
+ "start": 2,
+ "end": 16,
+ "method": false,
+ "shorthand": false,
+ "computed": true,
+ "key": {
+ "type": "Identifier",
+ "start": 3,
+ "end": 8,
+ "name": "field"
+ },
+ "value": {
+ "type": "Identifier",
+ "start": 11,
+ "end": 16,
+ "name": "value"
+ },
+ "kind": "init"
+ }
+ ]
+ }
+ ],
+ "body": {
+ "type": "Identifier",
+ "start": 22,
+ "end": 27,
+ "name": "value"
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 3,
+ "end": 8,
+ "name": "field"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/database-client.js.json b/test/output/database-client.js.json
new file mode 100644
index 0000000..7fb4c8f
--- /dev/null
+++ b/test/output/database-client.js.json
@@ -0,0 +1,76 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 35,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 34,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 4,
+ "end": 32,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 8,
+ "end": 31,
+ "id": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 9,
+ "name": "a"
+ },
+ "init": {
+ "type": "CallExpression",
+ "start": 12,
+ "end": 31,
+ "callee": {
+ "type": "Identifier",
+ "start": 12,
+ "end": 26,
+ "name": "DatabaseClient"
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "start": 27,
+ "end": 30,
+ "value": "a",
+ "raw": "\"a\""
+ }
+ ],
+ "optional": false
+ }
+ }
+ ],
+ "kind": "let"
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 12,
+ "end": 26,
+ "name": "DatabaseClient"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [
+ [
+ "a",
+ [
+ {
+ "start": 27,
+ "end": 30
+ }
+ ]
+ ]
+ ],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/destructured-array-assignment.js.json b/test/output/destructured-array-assignment.js.json
new file mode 100644
index 0000000..3225c66
--- /dev/null
+++ b/test/output/destructured-array-assignment.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Assignment to constant variable md (2:4)",
+ "pos": 6,
+ "loc": {
+ "line": 2,
+ "column": 4
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/destructured-array-rest-assignment.js.json b/test/output/destructured-array-rest-assignment.js.json
new file mode 100644
index 0000000..39a5ef4
--- /dev/null
+++ b/test/output/destructured-array-rest-assignment.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Assignment to constant variable md (2:9)",
+ "pos": 11,
+ "loc": {
+ "line": 2,
+ "column": 9
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/destructured-arrow-with-default.js.json b/test/output/destructured-arrow-with-default.js.json
new file mode 100644
index 0000000..5cdf2b5
--- /dev/null
+++ b/test/output/destructured-arrow-with-default.js.json
@@ -0,0 +1,74 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 32,
+ "id": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "fun"
+ },
+ "body": {
+ "type": "ArrowFunctionExpression",
+ "start": 6,
+ "end": 31,
+ "id": null,
+ "expression": false,
+ "generator": false,
+ "async": false,
+ "params": [
+ {
+ "type": "ObjectPattern",
+ "start": 7,
+ "end": 24,
+ "properties": [
+ {
+ "type": "Property",
+ "start": 8,
+ "end": 23,
+ "method": false,
+ "shorthand": true,
+ "computed": false,
+ "key": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 11,
+ "name": "foo"
+ },
+ "kind": "init",
+ "value": {
+ "type": "AssignmentPattern",
+ "start": 8,
+ "end": 23,
+ "left": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 11,
+ "name": "foo"
+ },
+ "right": {
+ "type": "Literal",
+ "start": 14,
+ "end": 23,
+ "value": "default",
+ "raw": "\"default\""
+ }
+ }
+ }
+ ]
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "start": 29,
+ "end": 31,
+ "body": []
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/destructured-assignment-with-default-assignment.js.json b/test/output/destructured-assignment-with-default-assignment.js.json
new file mode 100644
index 0000000..0d4735f
--- /dev/null
+++ b/test/output/destructured-assignment-with-default-assignment.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Assignment to constant variable md (3:18)",
+ "pos": 33,
+ "loc": {
+ "line": 3,
+ "column": 18
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/destructured-assignment-with-default.js.json b/test/output/destructured-assignment-with-default.js.json
new file mode 100644
index 0000000..28b8420
--- /dev/null
+++ b/test/output/destructured-assignment-with-default.js.json
@@ -0,0 +1,102 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 45,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 44,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 4,
+ "end": 14,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 8,
+ "end": 13,
+ "id": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 13,
+ "name": "value"
+ },
+ "init": null
+ }
+ ],
+ "kind": "let"
+ },
+ {
+ "type": "ExpressionStatement",
+ "start": 17,
+ "end": 42,
+ "expression": {
+ "type": "AssignmentExpression",
+ "start": 18,
+ "end": 40,
+ "operator": "=",
+ "left": {
+ "type": "ObjectPattern",
+ "start": 18,
+ "end": 35,
+ "properties": [
+ {
+ "type": "Property",
+ "start": 19,
+ "end": 34,
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "key": {
+ "type": "Identifier",
+ "start": 19,
+ "end": 22,
+ "name": "foo"
+ },
+ "value": {
+ "type": "AssignmentPattern",
+ "start": 24,
+ "end": 34,
+ "left": {
+ "type": "Identifier",
+ "start": 24,
+ "end": 29,
+ "name": "value"
+ },
+ "right": {
+ "type": "Identifier",
+ "start": 32,
+ "end": 34,
+ "name": "md"
+ }
+ },
+ "kind": "init"
+ }
+ ]
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "start": 38,
+ "end": 40,
+ "properties": []
+ }
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 32,
+ "end": 34,
+ "name": "md"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/destructured-object-assignment.js.json b/test/output/destructured-object-assignment.js.json
new file mode 100644
index 0000000..3225c66
--- /dev/null
+++ b/test/output/destructured-object-assignment.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Assignment to constant variable md (2:4)",
+ "pos": 6,
+ "loc": {
+ "line": 2,
+ "column": 4
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/destructured-object-rest-assignment.js.json b/test/output/destructured-object-rest-assignment.js.json
new file mode 100644
index 0000000..cbc9b24
--- /dev/null
+++ b/test/output/destructured-object-rest-assignment.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Assignment to constant variable md (2:7)",
+ "pos": 9,
+ "loc": {
+ "line": 2,
+ "column": 7
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/destructured-object-with-default.js.json b/test/output/destructured-object-with-default.js.json
new file mode 100644
index 0000000..e9c62e4
--- /dev/null
+++ b/test/output/destructured-object-with-default.js.json
@@ -0,0 +1,79 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 35,
+ "id": {
+ "type": "Identifier",
+ "start": 9,
+ "end": 12,
+ "name": "fun"
+ },
+ "body": {
+ "type": "FunctionExpression",
+ "start": 0,
+ "end": 34,
+ "id": {
+ "type": "Identifier",
+ "start": 9,
+ "end": 12,
+ "name": "fun"
+ },
+ "expression": false,
+ "generator": false,
+ "async": false,
+ "params": [
+ {
+ "type": "ObjectPattern",
+ "start": 13,
+ "end": 30,
+ "properties": [
+ {
+ "type": "Property",
+ "start": 14,
+ "end": 29,
+ "method": false,
+ "shorthand": true,
+ "computed": false,
+ "key": {
+ "type": "Identifier",
+ "start": 14,
+ "end": 17,
+ "name": "foo"
+ },
+ "kind": "init",
+ "value": {
+ "type": "AssignmentPattern",
+ "start": 14,
+ "end": 29,
+ "left": {
+ "type": "Identifier",
+ "start": 14,
+ "end": 17,
+ "name": "foo"
+ },
+ "right": {
+ "type": "Literal",
+ "start": 20,
+ "end": 29,
+ "value": "default",
+ "raw": "\"default\""
+ }
+ }
+ }
+ ]
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "start": 32,
+ "end": 34,
+ "body": []
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/dynamic-import.js.json b/test/output/dynamic-import.js.json
new file mode 100644
index 0000000..e2c6386
--- /dev/null
+++ b/test/output/dynamic-import.js.json
@@ -0,0 +1,29 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 20,
+ "id": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "foo"
+ },
+ "body": {
+ "type": "ImportExpression",
+ "start": 6,
+ "end": 19,
+ "source": {
+ "type": "Literal",
+ "start": 13,
+ "end": 18,
+ "value": "bar",
+ "raw": "\"bar\""
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/empty.js.json b/test/output/empty.js.json
new file mode 100644
index 0000000..7032315
--- /dev/null
+++ b/test/output/empty.js.json
@@ -0,0 +1,13 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 0,
+ "id": null,
+ "body": null,
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/empty.md.json b/test/output/empty.md.json
new file mode 100644
index 0000000..7032315
--- /dev/null
+++ b/test/output/empty.md.json
@@ -0,0 +1,13 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 0,
+ "id": null,
+ "body": null,
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/expression-extra.js.json b/test/output/expression-extra.js.json
new file mode 100644
index 0000000..1dbfb84
--- /dev/null
+++ b/test/output/expression-extra.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected token (1:4)",
+ "pos": 4,
+ "loc": {
+ "line": 1,
+ "column": 4
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/expression-trailing-comment.js.json b/test/output/expression-trailing-comment.js.json
new file mode 100644
index 0000000..e800b42
--- /dev/null
+++ b/test/output/expression-trailing-comment.js.json
@@ -0,0 +1,24 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 28,
+ "id": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "foo"
+ },
+ "body": {
+ "type": "Literal",
+ "start": 6,
+ "end": 8,
+ "value": 42,
+ "raw": "42"
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/extra-semicolon.js.json b/test/output/extra-semicolon.js.json
new file mode 100644
index 0000000..ce396da
--- /dev/null
+++ b/test/output/extra-semicolon.js.json
@@ -0,0 +1,24 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 10,
+ "id": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "foo"
+ },
+ "body": {
+ "type": "Literal",
+ "start": 6,
+ "end": 8,
+ "value": 42,
+ "raw": "42"
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/file-attachment-forbidden-1.js.json b/test/output/file-attachment-forbidden-1.js.json
new file mode 100644
index 0000000..b474d6b
--- /dev/null
+++ b/test/output/file-attachment-forbidden-1.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "FileAttachment requires a single literal string argument (1:4)",
+ "pos": 4,
+ "loc": {
+ "line": 1,
+ "column": 4
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/file-attachment-forbidden.js.json b/test/output/file-attachment-forbidden.js.json
new file mode 100644
index 0000000..b474d6b
--- /dev/null
+++ b/test/output/file-attachment-forbidden.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "FileAttachment requires a single literal string argument (1:4)",
+ "pos": 4,
+ "loc": {
+ "line": 1,
+ "column": 4
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/file-attachment-masked.js.json b/test/output/file-attachment-masked.js.json
new file mode 100644
index 0000000..0352822
--- /dev/null
+++ b/test/output/file-attachment-masked.js.json
@@ -0,0 +1,112 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 75,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 74,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 4,
+ "end": 41,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 8,
+ "end": 40,
+ "id": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 22,
+ "name": "FileAttachment"
+ },
+ "init": {
+ "type": "ArrowFunctionExpression",
+ "start": 25,
+ "end": 40,
+ "id": null,
+ "expression": true,
+ "generator": false,
+ "async": false,
+ "params": [
+ {
+ "type": "Identifier",
+ "start": 26,
+ "end": 27,
+ "name": "a"
+ },
+ {
+ "type": "Identifier",
+ "start": 29,
+ "end": 30,
+ "name": "b"
+ }
+ ],
+ "body": {
+ "type": "BinaryExpression",
+ "start": 35,
+ "end": 40,
+ "left": {
+ "type": "Identifier",
+ "start": 35,
+ "end": 36,
+ "name": "a"
+ },
+ "operator": "+",
+ "right": {
+ "type": "Identifier",
+ "start": 39,
+ "end": 40,
+ "name": "b"
+ }
+ }
+ }
+ }
+ ],
+ "kind": "let"
+ },
+ {
+ "type": "ReturnStatement",
+ "start": 44,
+ "end": 72,
+ "argument": {
+ "type": "CallExpression",
+ "start": 51,
+ "end": 71,
+ "callee": {
+ "type": "Identifier",
+ "start": 51,
+ "end": 65,
+ "name": "FileAttachment"
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "start": 66,
+ "end": 67,
+ "value": 1,
+ "raw": "1"
+ },
+ {
+ "type": "Literal",
+ "start": 69,
+ "end": 70,
+ "value": 2,
+ "raw": "2"
+ }
+ ],
+ "optional": false
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/file-attachment-nested.js.json b/test/output/file-attachment-nested.js.json
new file mode 100644
index 0000000..167bcee
--- /dev/null
+++ b/test/output/file-attachment-nested.js.json
@@ -0,0 +1,387 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 242,
+ "id": {
+ "type": "ViewExpression",
+ "start": 0,
+ "end": 13,
+ "id": {
+ "type": "Identifier",
+ "start": 7,
+ "end": 13,
+ "name": "slider"
+ }
+ },
+ "body": {
+ "type": "BlockStatement",
+ "start": 16,
+ "end": 241,
+ "body": [
+ {
+ "type": "WhileStatement",
+ "start": 20,
+ "end": 214,
+ "test": {
+ "type": "BinaryExpression",
+ "start": 27,
+ "end": 36,
+ "left": {
+ "type": "Identifier",
+ "start": 27,
+ "end": 32,
+ "name": "count"
+ },
+ "operator": ">",
+ "right": {
+ "type": "Literal",
+ "start": 35,
+ "end": 36,
+ "value": 0,
+ "raw": "0"
+ }
+ },
+ "body": {
+ "type": "BlockStatement",
+ "start": 38,
+ "end": 214,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 44,
+ "end": 53,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 48,
+ "end": 49,
+ "id": {
+ "type": "Identifier",
+ "start": 48,
+ "end": 49,
+ "name": "b"
+ },
+ "init": null
+ },
+ {
+ "type": "VariableDeclarator",
+ "start": 51,
+ "end": 52,
+ "id": {
+ "type": "Identifier",
+ "start": 51,
+ "end": 52,
+ "name": "c"
+ },
+ "init": null
+ }
+ ],
+ "kind": "let"
+ },
+ {
+ "type": "VariableDeclaration",
+ "start": 58,
+ "end": 88,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 64,
+ "end": 87,
+ "id": {
+ "type": "Identifier",
+ "start": 64,
+ "end": 65,
+ "name": "a"
+ },
+ "init": {
+ "type": "CallExpression",
+ "start": 68,
+ "end": 87,
+ "callee": {
+ "type": "Identifier",
+ "start": 68,
+ "end": 82,
+ "name": "FileAttachment"
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "start": 83,
+ "end": 86,
+ "value": "a",
+ "raw": "\"a\""
+ }
+ ],
+ "optional": false
+ }
+ }
+ ],
+ "kind": "const"
+ },
+ {
+ "type": "IfStatement",
+ "start": 93,
+ "end": 210,
+ "test": {
+ "type": "Identifier",
+ "start": 97,
+ "end": 106,
+ "name": "condition"
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "start": 108,
+ "end": 210,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 116,
+ "end": 173,
+ "expression": {
+ "type": "AssignmentExpression",
+ "start": 116,
+ "end": 172,
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "start": 116,
+ "end": 117,
+ "name": "b"
+ },
+ "right": {
+ "type": "ConditionalExpression",
+ "start": 120,
+ "end": 172,
+ "test": {
+ "type": "Identifier",
+ "start": 120,
+ "end": 131,
+ "name": "defaultFile"
+ },
+ "consequent": {
+ "type": "Identifier",
+ "start": 134,
+ "end": 150,
+ "name": "defaultFileValue"
+ },
+ "alternate": {
+ "type": "CallExpression",
+ "start": 153,
+ "end": 172,
+ "callee": {
+ "type": "Identifier",
+ "start": 153,
+ "end": 167,
+ "name": "FileAttachment"
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "start": 168,
+ "end": 171,
+ "value": "b",
+ "raw": "'b'"
+ }
+ ],
+ "optional": false
+ }
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "start": 180,
+ "end": 204,
+ "expression": {
+ "type": "AssignmentExpression",
+ "start": 180,
+ "end": 203,
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "start": 180,
+ "end": 181,
+ "name": "c"
+ },
+ "right": {
+ "type": "CallExpression",
+ "start": 184,
+ "end": 203,
+ "callee": {
+ "type": "Identifier",
+ "start": 184,
+ "end": 198,
+ "name": "FileAttachment"
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "start": 199,
+ "end": 202,
+ "expressions": [],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 200,
+ "end": 201,
+ "value": {
+ "raw": "c",
+ "cooked": "c"
+ },
+ "tail": true
+ }
+ ]
+ }
+ ],
+ "optional": false
+ }
+ }
+ }
+ ]
+ },
+ "alternate": null
+ }
+ ]
+ }
+ },
+ {
+ "type": "ReturnStatement",
+ "start": 217,
+ "end": 239,
+ "argument": {
+ "type": "CallExpression",
+ "start": 224,
+ "end": 238,
+ "callee": {
+ "type": "Identifier",
+ "start": 224,
+ "end": 229,
+ "name": "input"
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "start": 230,
+ "end": 231,
+ "name": "a"
+ },
+ {
+ "type": "Identifier",
+ "start": 233,
+ "end": 234,
+ "name": "b"
+ },
+ {
+ "type": "Identifier",
+ "start": 236,
+ "end": 237,
+ "name": "c"
+ }
+ ],
+ "optional": false
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 27,
+ "end": 32,
+ "name": "count"
+ },
+ {
+ "type": "Identifier",
+ "start": 68,
+ "end": 82,
+ "name": "FileAttachment"
+ },
+ {
+ "type": "Identifier",
+ "start": 97,
+ "end": 106,
+ "name": "condition"
+ },
+ {
+ "type": "Identifier",
+ "start": 120,
+ "end": 131,
+ "name": "defaultFile"
+ },
+ {
+ "type": "Identifier",
+ "start": 134,
+ "end": 150,
+ "name": "defaultFileValue"
+ },
+ {
+ "type": "Identifier",
+ "start": 153,
+ "end": 167,
+ "name": "FileAttachment"
+ },
+ {
+ "type": "Identifier",
+ "start": 184,
+ "end": 198,
+ "name": "FileAttachment"
+ },
+ {
+ "type": "Identifier",
+ "start": 224,
+ "end": 229,
+ "name": "input"
+ },
+ {
+ "type": "Identifier",
+ "start": 230,
+ "end": 231,
+ "name": "a"
+ },
+ {
+ "type": "Identifier",
+ "start": 233,
+ "end": 234,
+ "name": "b"
+ },
+ {
+ "type": "Identifier",
+ "start": 236,
+ "end": 237,
+ "name": "c"
+ }
+ ],
+ "fileAttachments": [
+ [
+ "a",
+ [
+ {
+ "start": 83,
+ "end": 86
+ }
+ ]
+ ],
+ [
+ "b",
+ [
+ {
+ "start": 168,
+ "end": 171
+ }
+ ]
+ ],
+ [
+ "c",
+ [
+ {
+ "start": 199,
+ "end": 202
+ }
+ ]
+ ]
+ ],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/file-attachment.js.json b/test/output/file-attachment.js.json
new file mode 100644
index 0000000..81e2bf4
--- /dev/null
+++ b/test/output/file-attachment.js.json
@@ -0,0 +1,247 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 129,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 128,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 4,
+ "end": 32,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 8,
+ "end": 31,
+ "id": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 9,
+ "name": "a"
+ },
+ "init": {
+ "type": "CallExpression",
+ "start": 12,
+ "end": 31,
+ "callee": {
+ "type": "Identifier",
+ "start": 12,
+ "end": 26,
+ "name": "FileAttachment"
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "start": 27,
+ "end": 30,
+ "value": "a",
+ "raw": "\"a\""
+ }
+ ],
+ "optional": false
+ }
+ }
+ ],
+ "kind": "let"
+ },
+ {
+ "type": "VariableDeclaration",
+ "start": 35,
+ "end": 63,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 39,
+ "end": 62,
+ "id": {
+ "type": "Identifier",
+ "start": 39,
+ "end": 40,
+ "name": "b"
+ },
+ "init": {
+ "type": "CallExpression",
+ "start": 43,
+ "end": 62,
+ "callee": {
+ "type": "Identifier",
+ "start": 43,
+ "end": 57,
+ "name": "FileAttachment"
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "start": 58,
+ "end": 61,
+ "value": "b",
+ "raw": "'b'"
+ }
+ ],
+ "optional": false
+ }
+ }
+ ],
+ "kind": "let"
+ },
+ {
+ "type": "VariableDeclaration",
+ "start": 66,
+ "end": 94,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 70,
+ "end": 93,
+ "id": {
+ "type": "Identifier",
+ "start": 70,
+ "end": 71,
+ "name": "c"
+ },
+ "init": {
+ "type": "CallExpression",
+ "start": 74,
+ "end": 93,
+ "callee": {
+ "type": "Identifier",
+ "start": 74,
+ "end": 88,
+ "name": "FileAttachment"
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "start": 89,
+ "end": 92,
+ "expressions": [],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 90,
+ "end": 91,
+ "value": {
+ "raw": "c",
+ "cooked": "c"
+ },
+ "tail": true
+ }
+ ]
+ }
+ ],
+ "optional": false
+ }
+ }
+ ],
+ "kind": "let"
+ },
+ {
+ "type": "VariableDeclaration",
+ "start": 97,
+ "end": 126,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 101,
+ "end": 125,
+ "id": {
+ "type": "Identifier",
+ "start": 101,
+ "end": 103,
+ "name": "c2"
+ },
+ "init": {
+ "type": "CallExpression",
+ "start": 106,
+ "end": 125,
+ "callee": {
+ "type": "Identifier",
+ "start": 106,
+ "end": 120,
+ "name": "FileAttachment"
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "start": 121,
+ "end": 124,
+ "value": "c",
+ "raw": "\"c\""
+ }
+ ],
+ "optional": false
+ }
+ }
+ ],
+ "kind": "let"
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 12,
+ "end": 26,
+ "name": "FileAttachment"
+ },
+ {
+ "type": "Identifier",
+ "start": 43,
+ "end": 57,
+ "name": "FileAttachment"
+ },
+ {
+ "type": "Identifier",
+ "start": 74,
+ "end": 88,
+ "name": "FileAttachment"
+ },
+ {
+ "type": "Identifier",
+ "start": 106,
+ "end": 120,
+ "name": "FileAttachment"
+ }
+ ],
+ "fileAttachments": [
+ [
+ "a",
+ [
+ {
+ "start": 27,
+ "end": 30
+ }
+ ]
+ ],
+ [
+ "b",
+ [
+ {
+ "start": 58,
+ "end": 61
+ }
+ ]
+ ],
+ [
+ "c",
+ [
+ {
+ "start": 89,
+ "end": 92
+ },
+ {
+ "start": 121,
+ "end": 124
+ }
+ ]
+ ]
+ ],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/for-await-generator.js.json b/test/output/for-await-generator.js.json
new file mode 100644
index 0000000..0c123a9
--- /dev/null
+++ b/test/output/for-await-generator.js.json
@@ -0,0 +1,89 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 62,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 61,
+ "body": [
+ {
+ "type": "ForOfStatement",
+ "start": 4,
+ "end": 59,
+ "await": true,
+ "left": {
+ "type": "VariableDeclaration",
+ "start": 15,
+ "end": 26,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 21,
+ "end": 26,
+ "id": {
+ "type": "Identifier",
+ "start": 21,
+ "end": 26,
+ "name": "value"
+ },
+ "init": null
+ }
+ ],
+ "kind": "const"
+ },
+ "right": {
+ "type": "CallExpression",
+ "start": 30,
+ "end": 35,
+ "callee": {
+ "type": "Identifier",
+ "start": 30,
+ "end": 33,
+ "name": "foo"
+ },
+ "arguments": [],
+ "optional": false
+ },
+ "body": {
+ "type": "BlockStatement",
+ "start": 37,
+ "end": 59,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 43,
+ "end": 55,
+ "expression": {
+ "type": "YieldExpression",
+ "start": 43,
+ "end": 54,
+ "delegate": false,
+ "argument": {
+ "type": "Identifier",
+ "start": 49,
+ "end": 54,
+ "name": "value"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "async": true,
+ "generator": true,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 30,
+ "end": 33,
+ "name": "foo"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/for-await-in-function.js.json b/test/output/for-await-in-function.js.json
new file mode 100644
index 0000000..ed68077
--- /dev/null
+++ b/test/output/for-await-in-function.js.json
@@ -0,0 +1,166 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 128,
+ "id": {
+ "type": "Identifier",
+ "start": 15,
+ "end": 18,
+ "name": "bar"
+ },
+ "body": {
+ "type": "FunctionExpression",
+ "start": 0,
+ "end": 127,
+ "id": {
+ "type": "Identifier",
+ "start": 15,
+ "end": 18,
+ "name": "bar"
+ },
+ "expression": false,
+ "generator": false,
+ "async": true,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 21,
+ "end": 127,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 25,
+ "end": 43,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 31,
+ "end": 42,
+ "id": {
+ "type": "Identifier",
+ "start": 31,
+ "end": 37,
+ "name": "values"
+ },
+ "init": {
+ "type": "ArrayExpression",
+ "start": 40,
+ "end": 42,
+ "elements": []
+ }
+ }
+ ],
+ "kind": "const"
+ },
+ {
+ "type": "ForOfStatement",
+ "start": 46,
+ "end": 108,
+ "await": true,
+ "left": {
+ "type": "VariableDeclaration",
+ "start": 57,
+ "end": 68,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 63,
+ "end": 68,
+ "id": {
+ "type": "Identifier",
+ "start": 63,
+ "end": 68,
+ "name": "value"
+ },
+ "init": null
+ }
+ ],
+ "kind": "const"
+ },
+ "right": {
+ "type": "CallExpression",
+ "start": 72,
+ "end": 77,
+ "callee": {
+ "type": "Identifier",
+ "start": 72,
+ "end": 75,
+ "name": "foo"
+ },
+ "arguments": [],
+ "optional": false
+ },
+ "body": {
+ "type": "BlockStatement",
+ "start": 79,
+ "end": 108,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 85,
+ "end": 104,
+ "expression": {
+ "type": "CallExpression",
+ "start": 85,
+ "end": 103,
+ "callee": {
+ "type": "MemberExpression",
+ "start": 85,
+ "end": 96,
+ "object": {
+ "type": "Identifier",
+ "start": 85,
+ "end": 91,
+ "name": "values"
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 92,
+ "end": 96,
+ "name": "push"
+ },
+ "computed": false,
+ "optional": false
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "start": 97,
+ "end": 102,
+ "name": "value"
+ }
+ ],
+ "optional": false
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "ReturnStatement",
+ "start": 111,
+ "end": 125,
+ "argument": {
+ "type": "Identifier",
+ "start": 118,
+ "end": 124,
+ "name": "values"
+ }
+ }
+ ]
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 72,
+ "end": 75,
+ "name": "foo"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/for-await.js.json b/test/output/for-await.js.json
new file mode 100644
index 0000000..ea9e46a
--- /dev/null
+++ b/test/output/for-await.js.json
@@ -0,0 +1,146 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 107,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 106,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 4,
+ "end": 22,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 10,
+ "end": 21,
+ "id": {
+ "type": "Identifier",
+ "start": 10,
+ "end": 16,
+ "name": "values"
+ },
+ "init": {
+ "type": "ArrayExpression",
+ "start": 19,
+ "end": 21,
+ "elements": []
+ }
+ }
+ ],
+ "kind": "const"
+ },
+ {
+ "type": "ForOfStatement",
+ "start": 25,
+ "end": 87,
+ "await": true,
+ "left": {
+ "type": "VariableDeclaration",
+ "start": 36,
+ "end": 47,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 42,
+ "end": 47,
+ "id": {
+ "type": "Identifier",
+ "start": 42,
+ "end": 47,
+ "name": "value"
+ },
+ "init": null
+ }
+ ],
+ "kind": "const"
+ },
+ "right": {
+ "type": "CallExpression",
+ "start": 51,
+ "end": 56,
+ "callee": {
+ "type": "Identifier",
+ "start": 51,
+ "end": 54,
+ "name": "foo"
+ },
+ "arguments": [],
+ "optional": false
+ },
+ "body": {
+ "type": "BlockStatement",
+ "start": 58,
+ "end": 87,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 64,
+ "end": 83,
+ "expression": {
+ "type": "CallExpression",
+ "start": 64,
+ "end": 82,
+ "callee": {
+ "type": "MemberExpression",
+ "start": 64,
+ "end": 75,
+ "object": {
+ "type": "Identifier",
+ "start": 64,
+ "end": 70,
+ "name": "values"
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 71,
+ "end": 75,
+ "name": "push"
+ },
+ "computed": false,
+ "optional": false
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "start": 76,
+ "end": 81,
+ "name": "value"
+ }
+ ],
+ "optional": false
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "ReturnStatement",
+ "start": 90,
+ "end": 104,
+ "argument": {
+ "type": "Identifier",
+ "start": 97,
+ "end": 103,
+ "name": "values"
+ }
+ }
+ ]
+ },
+ "async": true,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 51,
+ "end": 54,
+ "name": "foo"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/function-unexpected-viewof.js.json b/test/output/function-unexpected-viewof.js.json
new file mode 100644
index 0000000..ba0cce7
--- /dev/null
+++ b/test/output/function-unexpected-viewof.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected keyword 'viewof' (1:9)",
+ "pos": 9,
+ "loc": {
+ "line": 1,
+ "column": 9
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/global-assignment.js.json b/test/output/global-assignment.js.json
new file mode 100644
index 0000000..e39fc88
--- /dev/null
+++ b/test/output/global-assignment.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Assignment to constant variable foo (2:2)",
+ "pos": 4,
+ "loc": {
+ "line": 2,
+ "column": 2
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/illegal-arguments.js.json b/test/output/illegal-arguments.js.json
new file mode 100644
index 0000000..791ecc6
--- /dev/null
+++ b/test/output/illegal-arguments.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "arguments is not allowed (1:4)",
+ "pos": 4,
+ "loc": {
+ "line": 1,
+ "column": 4
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/illegal-arrow-arguments.js.json b/test/output/illegal-arrow-arguments.js.json
new file mode 100644
index 0000000..2072419
--- /dev/null
+++ b/test/output/illegal-arrow-arguments.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "arguments is not allowed (1:6)",
+ "pos": 6,
+ "loc": {
+ "line": 1,
+ "column": 6
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/import-as-duplicate.js.json b/test/output/import-as-duplicate.js.json
new file mode 100644
index 0000000..e5e73bd
--- /dev/null
+++ b/test/output/import-as-duplicate.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Identifier 'foo' has already been declared (1:20)",
+ "pos": 20,
+ "loc": {
+ "line": 1,
+ "column": 20
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/import-default-as.js.json b/test/output/import-default-as.js.json
new file mode 100644
index 0000000..6464cf6
--- /dev/null
+++ b/test/output/import-default-as.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected keyword 'default' (1:8)",
+ "pos": 8,
+ "loc": {
+ "line": 1,
+ "column": 8
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/import-default.js.json b/test/output/import-default.js.json
new file mode 100644
index 0000000..e5418e1
--- /dev/null
+++ b/test/output/import-default.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected token (1:7)",
+ "pos": 7,
+ "loc": {
+ "line": 1,
+ "column": 7
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/import-duplicate.js.json b/test/output/import-duplicate.js.json
new file mode 100644
index 0000000..66a4360
--- /dev/null
+++ b/test/output/import-duplicate.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Identifier 'foo' has already been declared (1:13)",
+ "pos": 13,
+ "loc": {
+ "line": 1,
+ "column": 13
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/import-empty.js.json b/test/output/import-empty.js.json
new file mode 100644
index 0000000..85bd1ae
--- /dev/null
+++ b/test/output/import-empty.js.json
@@ -0,0 +1,25 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 24,
+ "id": null,
+ "body": {
+ "type": "ImportDeclaration",
+ "start": 0,
+ "end": 23,
+ "specifiers": [],
+ "source": {
+ "type": "Literal",
+ "start": 15,
+ "end": 23,
+ "value": "module",
+ "raw": "\"module\""
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/import-extra.js.json b/test/output/import-extra.js.json
new file mode 100644
index 0000000..4f4b660
--- /dev/null
+++ b/test/output/import-extra.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected token (1:39)",
+ "pos": 39,
+ "loc": {
+ "line": 1,
+ "column": 39
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/import-mutable-as.js.json b/test/output/import-mutable-as.js.json
new file mode 100644
index 0000000..56b6c29
--- /dev/null
+++ b/test/output/import-mutable-as.js.json
@@ -0,0 +1,45 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 42,
+ "id": null,
+ "body": {
+ "type": "ImportDeclaration",
+ "start": 0,
+ "end": 41,
+ "specifiers": [
+ {
+ "type": "ImportSpecifier",
+ "start": 8,
+ "end": 26,
+ "view": false,
+ "mutable": true,
+ "imported": {
+ "type": "Identifier",
+ "start": 16,
+ "end": 19,
+ "name": "foo"
+ },
+ "local": {
+ "type": "Identifier",
+ "start": 23,
+ "end": 26,
+ "name": "bar"
+ }
+ }
+ ],
+ "source": {
+ "type": "Literal",
+ "start": 33,
+ "end": 41,
+ "value": "module",
+ "raw": "\"module\""
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/import-mutable.js.json b/test/output/import-mutable.js.json
new file mode 100644
index 0000000..4830a73
--- /dev/null
+++ b/test/output/import-mutable.js.json
@@ -0,0 +1,45 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 35,
+ "id": null,
+ "body": {
+ "type": "ImportDeclaration",
+ "start": 0,
+ "end": 34,
+ "specifiers": [
+ {
+ "type": "ImportSpecifier",
+ "start": 8,
+ "end": 19,
+ "view": false,
+ "mutable": true,
+ "imported": {
+ "type": "Identifier",
+ "start": 16,
+ "end": 19,
+ "name": "foo"
+ },
+ "local": {
+ "type": "Identifier",
+ "start": 16,
+ "end": 19,
+ "name": "foo"
+ }
+ }
+ ],
+ "source": {
+ "type": "Literal",
+ "start": 26,
+ "end": 34,
+ "value": "module",
+ "raw": "\"module\""
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/import-semicolon.js.json b/test/output/import-semicolon.js.json
new file mode 100644
index 0000000..77a5995
--- /dev/null
+++ b/test/output/import-semicolon.js.json
@@ -0,0 +1,64 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 40,
+ "id": null,
+ "body": {
+ "type": "ImportDeclaration",
+ "start": 0,
+ "end": 38,
+ "specifiers": [
+ {
+ "type": "ImportSpecifier",
+ "start": 8,
+ "end": 11,
+ "view": false,
+ "mutable": false,
+ "imported": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 11,
+ "name": "foo"
+ },
+ "local": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 11,
+ "name": "foo"
+ }
+ },
+ {
+ "type": "ImportSpecifier",
+ "start": 13,
+ "end": 23,
+ "view": false,
+ "mutable": false,
+ "imported": {
+ "type": "Identifier",
+ "start": 13,
+ "end": 16,
+ "name": "bar"
+ },
+ "local": {
+ "type": "Identifier",
+ "start": 20,
+ "end": 23,
+ "name": "baz"
+ }
+ }
+ ],
+ "source": {
+ "type": "Literal",
+ "start": 30,
+ "end": 38,
+ "value": "module",
+ "raw": "\"module\""
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/import-side-effect.js.json b/test/output/import-side-effect.js.json
new file mode 100644
index 0000000..e5418e1
--- /dev/null
+++ b/test/output/import-side-effect.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected token (1:7)",
+ "pos": 7,
+ "loc": {
+ "line": 1,
+ "column": 7
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/import-viewof-as.js.json b/test/output/import-viewof-as.js.json
new file mode 100644
index 0000000..4f9b6c4
--- /dev/null
+++ b/test/output/import-viewof-as.js.json
@@ -0,0 +1,45 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 41,
+ "id": null,
+ "body": {
+ "type": "ImportDeclaration",
+ "start": 0,
+ "end": 40,
+ "specifiers": [
+ {
+ "type": "ImportSpecifier",
+ "start": 8,
+ "end": 25,
+ "view": true,
+ "mutable": false,
+ "imported": {
+ "type": "Identifier",
+ "start": 15,
+ "end": 18,
+ "name": "foo"
+ },
+ "local": {
+ "type": "Identifier",
+ "start": 22,
+ "end": 25,
+ "name": "bar"
+ }
+ }
+ ],
+ "source": {
+ "type": "Literal",
+ "start": 32,
+ "end": 40,
+ "value": "module",
+ "raw": "\"module\""
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/import-viewof.js.json b/test/output/import-viewof.js.json
new file mode 100644
index 0000000..bbd48bd
--- /dev/null
+++ b/test/output/import-viewof.js.json
@@ -0,0 +1,45 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 34,
+ "id": null,
+ "body": {
+ "type": "ImportDeclaration",
+ "start": 0,
+ "end": 33,
+ "specifiers": [
+ {
+ "type": "ImportSpecifier",
+ "start": 8,
+ "end": 18,
+ "view": true,
+ "mutable": false,
+ "imported": {
+ "type": "Identifier",
+ "start": 15,
+ "end": 18,
+ "name": "foo"
+ },
+ "local": {
+ "type": "Identifier",
+ "start": 15,
+ "end": 18,
+ "name": "foo"
+ }
+ }
+ ],
+ "source": {
+ "type": "Literal",
+ "start": 25,
+ "end": 33,
+ "value": "module",
+ "raw": "\"module\""
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/import-with-as-duplicate.js.json b/test/output/import-with-as-duplicate.js.json
new file mode 100644
index 0000000..b199980
--- /dev/null
+++ b/test/output/import-with-as-duplicate.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Identifier 'foo' has already been declared (1:28)",
+ "pos": 28,
+ "loc": {
+ "line": 1,
+ "column": 28
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/import-with-default-as.js.json b/test/output/import-with-default-as.js.json
new file mode 100644
index 0000000..d6a93a7
--- /dev/null
+++ b/test/output/import-with-default-as.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected keyword 'default' (1:26)",
+ "pos": 26,
+ "loc": {
+ "line": 1,
+ "column": 26
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/import-with-default.js.json b/test/output/import-with-default.js.json
new file mode 100644
index 0000000..9a2ce73
--- /dev/null
+++ b/test/output/import-with-default.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected keyword 'default' (1:19)",
+ "pos": 19,
+ "loc": {
+ "line": 1,
+ "column": 19
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/import-with-duplicate.js.json b/test/output/import-with-duplicate.js.json
new file mode 100644
index 0000000..8cdd25c
--- /dev/null
+++ b/test/output/import-with-duplicate.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Identifier 'foo' has already been declared (1:21)",
+ "pos": 21,
+ "loc": {
+ "line": 1,
+ "column": 21
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/import-with-empty.js.json b/test/output/import-with-empty.js.json
new file mode 100644
index 0000000..3f1de37
--- /dev/null
+++ b/test/output/import-with-empty.js.json
@@ -0,0 +1,46 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 35,
+ "id": null,
+ "body": {
+ "type": "ImportDeclaration",
+ "start": 0,
+ "end": 34,
+ "specifiers": [
+ {
+ "type": "ImportSpecifier",
+ "start": 8,
+ "end": 11,
+ "view": false,
+ "mutable": false,
+ "imported": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 11,
+ "name": "foo"
+ },
+ "local": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 11,
+ "name": "foo"
+ }
+ }
+ ],
+ "injections": [],
+ "source": {
+ "type": "Literal",
+ "start": 26,
+ "end": 34,
+ "value": "module",
+ "raw": "\"module\""
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/import-with.js.json b/test/output/import-with.js.json
new file mode 100644
index 0000000..daac0b4
--- /dev/null
+++ b/test/output/import-with.js.json
@@ -0,0 +1,73 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 45,
+ "id": null,
+ "body": {
+ "type": "ImportDeclaration",
+ "start": 0,
+ "end": 44,
+ "specifiers": [
+ {
+ "type": "ImportSpecifier",
+ "start": 8,
+ "end": 11,
+ "view": false,
+ "mutable": false,
+ "imported": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 11,
+ "name": "foo"
+ },
+ "local": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 11,
+ "name": "foo"
+ }
+ }
+ ],
+ "injections": [
+ {
+ "type": "ImportSpecifier",
+ "start": 19,
+ "end": 29,
+ "view": false,
+ "mutable": false,
+ "imported": {
+ "type": "Identifier",
+ "start": 19,
+ "end": 22,
+ "name": "bar"
+ },
+ "local": {
+ "type": "Identifier",
+ "start": 26,
+ "end": 29,
+ "name": "baz"
+ }
+ }
+ ],
+ "source": {
+ "type": "Literal",
+ "start": 36,
+ "end": 44,
+ "value": "module",
+ "raw": "\"module\""
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 19,
+ "end": 22,
+ "name": "bar"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/import.js.json b/test/output/import.js.json
new file mode 100644
index 0000000..adb63a0
--- /dev/null
+++ b/test/output/import.js.json
@@ -0,0 +1,64 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 39,
+ "id": null,
+ "body": {
+ "type": "ImportDeclaration",
+ "start": 0,
+ "end": 38,
+ "specifiers": [
+ {
+ "type": "ImportSpecifier",
+ "start": 8,
+ "end": 11,
+ "view": false,
+ "mutable": false,
+ "imported": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 11,
+ "name": "foo"
+ },
+ "local": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 11,
+ "name": "foo"
+ }
+ },
+ {
+ "type": "ImportSpecifier",
+ "start": 13,
+ "end": 23,
+ "view": false,
+ "mutable": false,
+ "imported": {
+ "type": "Identifier",
+ "start": 13,
+ "end": 16,
+ "name": "bar"
+ },
+ "local": {
+ "type": "Identifier",
+ "start": 20,
+ "end": 23,
+ "name": "baz"
+ }
+ }
+ ],
+ "source": {
+ "type": "Literal",
+ "start": 30,
+ "end": 38,
+ "value": "module",
+ "raw": "\"module\""
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/leading-semicolon.js.json b/test/output/leading-semicolon.js.json
new file mode 100644
index 0000000..7d15ce3
--- /dev/null
+++ b/test/output/leading-semicolon.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected token (1:1)",
+ "pos": 1,
+ "loc": {
+ "line": 1,
+ "column": 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/legal-arguments.js.json b/test/output/legal-arguments.js.json
new file mode 100644
index 0000000..e75e846
--- /dev/null
+++ b/test/output/legal-arguments.js.json
@@ -0,0 +1,53 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 40,
+ "id": null,
+ "body": {
+ "type": "FunctionExpression",
+ "start": 0,
+ "end": 39,
+ "id": null,
+ "expression": false,
+ "generator": false,
+ "async": false,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 11,
+ "end": 39,
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "start": 13,
+ "end": 37,
+ "argument": {
+ "type": "MemberExpression",
+ "start": 20,
+ "end": 36,
+ "object": {
+ "type": "Identifier",
+ "start": 20,
+ "end": 29,
+ "name": "arguments"
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 30,
+ "end": 36,
+ "name": "length"
+ },
+ "computed": false,
+ "optional": false
+ }
+ }
+ ]
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/logical-assignment.js.json b/test/output/logical-assignment.js.json
new file mode 100644
index 0000000..486cc17
--- /dev/null
+++ b/test/output/logical-assignment.js.json
@@ -0,0 +1,105 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 60,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 59,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 4,
+ "end": 17,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 8,
+ "end": 16,
+ "id": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 9,
+ "name": "a"
+ },
+ "init": {
+ "type": "Literal",
+ "start": 12,
+ "end": 16,
+ "value": null,
+ "raw": "null"
+ }
+ }
+ ],
+ "kind": "let"
+ },
+ {
+ "type": "VariableDeclaration",
+ "start": 20,
+ "end": 34,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 24,
+ "end": 33,
+ "id": {
+ "type": "Identifier",
+ "start": 24,
+ "end": 25,
+ "name": "b"
+ },
+ "init": {
+ "type": "Literal",
+ "start": 28,
+ "end": 33,
+ "value": false,
+ "raw": "false"
+ }
+ }
+ ],
+ "kind": "let"
+ },
+ {
+ "type": "ExpressionStatement",
+ "start": 37,
+ "end": 45,
+ "expression": {
+ "type": "AssignmentExpression",
+ "start": 37,
+ "end": 44,
+ "operator": "||=",
+ "left": {
+ "type": "Identifier",
+ "start": 37,
+ "end": 38,
+ "name": "a"
+ },
+ "right": {
+ "type": "Identifier",
+ "start": 43,
+ "end": 44,
+ "name": "b"
+ }
+ }
+ },
+ {
+ "type": "ReturnStatement",
+ "start": 48,
+ "end": 57,
+ "argument": {
+ "type": "Identifier",
+ "start": 55,
+ "end": 56,
+ "name": "a"
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/markdown-interpolation.md.json b/test/output/markdown-interpolation.md.json
new file mode 100644
index 0000000..085b706
--- /dev/null
+++ b/test/output/markdown-interpolation.md.json
@@ -0,0 +1,151 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 70,
+ "id": null,
+ "body": {
+ "type": "TemplateLiteral",
+ "start": 0,
+ "end": 70,
+ "expressions": [
+ {
+ "type": "UpdateExpression",
+ "start": 9,
+ "end": 24,
+ "operator": "++",
+ "prefix": true,
+ "argument": {
+ "type": "MutableExpression",
+ "start": 11,
+ "end": 24,
+ "id": {
+ "type": "Identifier",
+ "start": 19,
+ "end": 24,
+ "name": "count"
+ }
+ }
+ },
+ {
+ "type": "ViewExpression",
+ "start": 34,
+ "end": 44,
+ "id": {
+ "type": "Identifier",
+ "start": 41,
+ "end": 44,
+ "name": "Foo"
+ }
+ },
+ {
+ "type": "Identifier",
+ "start": 63,
+ "end": 68,
+ "name": "value"
+ }
+ ],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 0,
+ "end": 7,
+ "value": {
+ "raw": "Count: ",
+ "cooked": null
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 25,
+ "end": 32,
+ "value": {
+ "raw": "\nView: ",
+ "cooked": null
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 45,
+ "end": 61,
+ "value": {
+ "raw": "\nRegular Value: ",
+ "cooked": null
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 69,
+ "end": 70,
+ "value": {
+ "raw": "\n",
+ "cooked": null
+ },
+ "tail": true
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "tag": {
+ "type": "CellTag",
+ "start": 0,
+ "end": 2,
+ "body": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ },
+ "input": "md",
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+ },
+ "raw": false,
+ "references": [
+ {
+ "type": "MutableExpression",
+ "start": 11,
+ "end": 24,
+ "id": {
+ "type": "Identifier",
+ "start": 19,
+ "end": 24,
+ "name": "count"
+ }
+ },
+ {
+ "type": "ViewExpression",
+ "start": 34,
+ "end": 44,
+ "id": {
+ "type": "Identifier",
+ "start": 41,
+ "end": 44,
+ "name": "Foo"
+ }
+ },
+ {
+ "type": "Identifier",
+ "start": 63,
+ "end": 68,
+ "name": "value"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/markdown.md.json b/test/output/markdown.md.json
new file mode 100644
index 0000000..f60d1bc
--- /dev/null
+++ b/test/output/markdown.md.json
@@ -0,0 +1,80 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 104,
+ "id": null,
+ "body": {
+ "type": "TemplateLiteral",
+ "start": 0,
+ "end": 104,
+ "expressions": [
+ {
+ "type": "Identifier",
+ "start": 98,
+ "end": 101,
+ "name": "foo"
+ }
+ ],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 0,
+ "end": 96,
+ "value": {
+ "raw": "# Header 1\n\n```\nconst codeBlock = true;\n```\n\nParagraph that references `codeBlock`. Foo value: \"",
+ "cooked": null
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 102,
+ "end": 104,
+ "value": {
+ "raw": "\".",
+ "cooked": null
+ },
+ "tail": true
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "tag": {
+ "type": "CellTag",
+ "start": 0,
+ "end": 2,
+ "body": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ },
+ "input": "md",
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+ },
+ "raw": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 98,
+ "end": 101,
+ "name": "foo"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/member-assignment.js.json b/test/output/member-assignment.js.json
new file mode 100644
index 0000000..edd889d
--- /dev/null
+++ b/test/output/member-assignment.js.json
@@ -0,0 +1,51 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 15,
+ "id": null,
+ "body": {
+ "type": "AssignmentExpression",
+ "start": 0,
+ "end": 14,
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "start": 0,
+ "end": 10,
+ "object": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 6,
+ "name": "window"
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 7,
+ "end": 10,
+ "name": "foo"
+ },
+ "computed": false,
+ "optional": false
+ },
+ "right": {
+ "type": "Literal",
+ "start": 13,
+ "end": 14,
+ "value": 2,
+ "raw": "2"
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 6,
+ "name": "window"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/multiple-input-references.js.json b/test/output/multiple-input-references.js.json
new file mode 100644
index 0000000..e65d575
--- /dev/null
+++ b/test/output/multiple-input-references.js.json
@@ -0,0 +1,247 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 122,
+ "id": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 4,
+ "name": "cell"
+ },
+ "body": {
+ "type": "BlockStatement",
+ "start": 7,
+ "end": 121,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 11,
+ "end": 29,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 17,
+ "end": 28,
+ "id": {
+ "type": "Identifier",
+ "start": 17,
+ "end": 20,
+ "name": "sum"
+ },
+ "init": {
+ "type": "BinaryExpression",
+ "start": 23,
+ "end": 28,
+ "left": {
+ "type": "Identifier",
+ "start": 23,
+ "end": 24,
+ "name": "a"
+ },
+ "operator": "+",
+ "right": {
+ "type": "Identifier",
+ "start": 27,
+ "end": 28,
+ "name": "b"
+ }
+ }
+ }
+ ],
+ "kind": "const"
+ },
+ {
+ "type": "VariableDeclaration",
+ "start": 32,
+ "end": 54,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 38,
+ "end": 53,
+ "id": {
+ "type": "Identifier",
+ "start": 38,
+ "end": 45,
+ "name": "product"
+ },
+ "init": {
+ "type": "BinaryExpression",
+ "start": 48,
+ "end": 53,
+ "left": {
+ "type": "Identifier",
+ "start": 48,
+ "end": 49,
+ "name": "a"
+ },
+ "operator": "*",
+ "right": {
+ "type": "Identifier",
+ "start": 52,
+ "end": 53,
+ "name": "b"
+ }
+ }
+ }
+ ],
+ "kind": "const"
+ },
+ {
+ "type": "VariableDeclaration",
+ "start": 57,
+ "end": 82,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 63,
+ "end": 81,
+ "id": {
+ "type": "Identifier",
+ "start": 63,
+ "end": 73,
+ "name": "difference"
+ },
+ "init": {
+ "type": "BinaryExpression",
+ "start": 76,
+ "end": 81,
+ "left": {
+ "type": "Identifier",
+ "start": 76,
+ "end": 77,
+ "name": "a"
+ },
+ "operator": "-",
+ "right": {
+ "type": "Identifier",
+ "start": 80,
+ "end": 81,
+ "name": "b"
+ }
+ }
+ }
+ ],
+ "kind": "const"
+ },
+ {
+ "type": "ReturnStatement",
+ "start": 85,
+ "end": 119,
+ "argument": {
+ "type": "ObjectExpression",
+ "start": 92,
+ "end": 118,
+ "properties": [
+ {
+ "type": "Property",
+ "start": 93,
+ "end": 96,
+ "method": false,
+ "shorthand": true,
+ "computed": false,
+ "key": {
+ "type": "Identifier",
+ "start": 93,
+ "end": 96,
+ "name": "sum"
+ },
+ "kind": "init",
+ "value": {
+ "type": "Identifier",
+ "start": 93,
+ "end": 96,
+ "name": "sum"
+ }
+ },
+ {
+ "type": "Property",
+ "start": 98,
+ "end": 105,
+ "method": false,
+ "shorthand": true,
+ "computed": false,
+ "key": {
+ "type": "Identifier",
+ "start": 98,
+ "end": 105,
+ "name": "product"
+ },
+ "kind": "init",
+ "value": {
+ "type": "Identifier",
+ "start": 98,
+ "end": 105,
+ "name": "product"
+ }
+ },
+ {
+ "type": "Property",
+ "start": 107,
+ "end": 117,
+ "method": false,
+ "shorthand": true,
+ "computed": false,
+ "key": {
+ "type": "Identifier",
+ "start": 107,
+ "end": 117,
+ "name": "difference"
+ },
+ "kind": "init",
+ "value": {
+ "type": "Identifier",
+ "start": 107,
+ "end": 117,
+ "name": "difference"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 23,
+ "end": 24,
+ "name": "a"
+ },
+ {
+ "type": "Identifier",
+ "start": 27,
+ "end": 28,
+ "name": "b"
+ },
+ {
+ "type": "Identifier",
+ "start": 48,
+ "end": 49,
+ "name": "a"
+ },
+ {
+ "type": "Identifier",
+ "start": 52,
+ "end": 53,
+ "name": "b"
+ },
+ {
+ "type": "Identifier",
+ "start": 76,
+ "end": 77,
+ "name": "a"
+ },
+ {
+ "type": "Identifier",
+ "start": 80,
+ "end": 81,
+ "name": "b"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/mutable-argument.js.json b/test/output/mutable-argument.js.json
new file mode 100644
index 0000000..49a61f8
--- /dev/null
+++ b/test/output/mutable-argument.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected keyword 'mutable' (1:12)",
+ "pos": 12,
+ "loc": {
+ "line": 1,
+ "column": 12
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/mutable-as-property.js.json b/test/output/mutable-as-property.js.json
new file mode 100644
index 0000000..c7d32d2
--- /dev/null
+++ b/test/output/mutable-as-property.js.json
@@ -0,0 +1,67 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 24,
+ "id": null,
+ "body": {
+ "type": "BinaryExpression",
+ "start": 0,
+ "end": 23,
+ "left": {
+ "type": "MemberExpression",
+ "start": 0,
+ "end": 19,
+ "object": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 6,
+ "name": "object"
+ },
+ "property": {
+ "type": "MutableExpression",
+ "start": 7,
+ "end": 18,
+ "id": {
+ "type": "Identifier",
+ "start": 15,
+ "end": 18,
+ "name": "foo"
+ }
+ },
+ "computed": true,
+ "optional": false
+ },
+ "operator": "+",
+ "right": {
+ "type": "Literal",
+ "start": 22,
+ "end": 23,
+ "value": 1,
+ "raw": "1"
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 6,
+ "name": "object"
+ },
+ {
+ "type": "MutableExpression",
+ "start": 7,
+ "end": 18,
+ "id": {
+ "type": "Identifier",
+ "start": 15,
+ "end": 18,
+ "name": "foo"
+ }
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/mutable-assign-default.js.json b/test/output/mutable-assign-default.js.json
new file mode 100644
index 0000000..c629e1a
--- /dev/null
+++ b/test/output/mutable-assign-default.js.json
@@ -0,0 +1,73 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 44,
+ "id": {
+ "type": "MutableExpression",
+ "start": 0,
+ "end": 13,
+ "id": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 13,
+ "name": "state"
+ }
+ },
+ "body": {
+ "type": "AwaitExpression",
+ "start": 16,
+ "end": 43,
+ "argument": {
+ "type": "CallExpression",
+ "start": 22,
+ "end": 43,
+ "callee": {
+ "type": "MemberExpression",
+ "start": 22,
+ "end": 35,
+ "object": {
+ "type": "Identifier",
+ "start": 22,
+ "end": 29,
+ "name": "Service"
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 30,
+ "end": 35,
+ "name": "fetch"
+ },
+ "computed": false,
+ "optional": false
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "start": 36,
+ "end": 42,
+ "name": "config"
+ }
+ ],
+ "optional": false
+ }
+ },
+ "async": true,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 22,
+ "end": 29,
+ "name": "Service"
+ },
+ {
+ "type": "Identifier",
+ "start": 36,
+ "end": 42,
+ "name": "config"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/mutable-assignment.js.json b/test/output/mutable-assignment.js.json
new file mode 100644
index 0000000..e2e7eb8
--- /dev/null
+++ b/test/output/mutable-assignment.js.json
@@ -0,0 +1,60 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 27,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 26,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 4,
+ "end": 24,
+ "expression": {
+ "type": "AssignmentExpression",
+ "start": 4,
+ "end": 23,
+ "operator": "=",
+ "left": {
+ "type": "MutableExpression",
+ "start": 4,
+ "end": 17,
+ "id": {
+ "type": "Identifier",
+ "start": 12,
+ "end": 17,
+ "name": "value"
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "start": 20,
+ "end": 23,
+ "value": 101,
+ "raw": "101"
+ }
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "MutableExpression",
+ "start": 4,
+ "end": 17,
+ "id": {
+ "type": "Identifier",
+ "start": 12,
+ "end": 17,
+ "name": "value"
+ }
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/mutable-block-cell.js.json b/test/output/mutable-block-cell.js.json
new file mode 100644
index 0000000..cb72eda
--- /dev/null
+++ b/test/output/mutable-block-cell.js.json
@@ -0,0 +1,85 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 41,
+ "id": {
+ "type": "MutableExpression",
+ "start": 0,
+ "end": 11,
+ "id": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 11,
+ "name": "foo"
+ }
+ },
+ "body": {
+ "type": "BlockStatement",
+ "start": 14,
+ "end": 40,
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "start": 18,
+ "end": 38,
+ "argument": {
+ "type": "ObjectExpression",
+ "start": 25,
+ "end": 37,
+ "properties": [
+ {
+ "type": "Property",
+ "start": 26,
+ "end": 30,
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "key": {
+ "type": "Identifier",
+ "start": 26,
+ "end": 27,
+ "name": "x"
+ },
+ "value": {
+ "type": "Literal",
+ "start": 29,
+ "end": 30,
+ "value": 0,
+ "raw": "0"
+ },
+ "kind": "init"
+ },
+ {
+ "type": "Property",
+ "start": 32,
+ "end": 36,
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "key": {
+ "type": "Identifier",
+ "start": 32,
+ "end": 33,
+ "name": "y"
+ },
+ "value": {
+ "type": "Literal",
+ "start": 35,
+ "end": 36,
+ "value": 0,
+ "raw": "0"
+ },
+ "kind": "init"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/mutable-constant.js.json b/test/output/mutable-constant.js.json
new file mode 100644
index 0000000..4418ae5
--- /dev/null
+++ b/test/output/mutable-constant.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected token (1:8)",
+ "pos": 8,
+ "loc": {
+ "line": 1,
+ "column": 8
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/mutable-default-value.js.json b/test/output/mutable-default-value.js.json
new file mode 100644
index 0000000..0793f4a
--- /dev/null
+++ b/test/output/mutable-default-value.js.json
@@ -0,0 +1,85 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 43,
+ "id": {
+ "type": "Identifier",
+ "start": 9,
+ "end": 11,
+ "name": "fn"
+ },
+ "body": {
+ "type": "FunctionExpression",
+ "start": 0,
+ "end": 42,
+ "id": {
+ "type": "Identifier",
+ "start": 9,
+ "end": 11,
+ "name": "fn"
+ },
+ "expression": false,
+ "generator": false,
+ "async": false,
+ "params": [
+ {
+ "type": "AssignmentPattern",
+ "start": 12,
+ "end": 25,
+ "left": {
+ "type": "Identifier",
+ "start": 12,
+ "end": 13,
+ "name": "y"
+ },
+ "right": {
+ "type": "MutableExpression",
+ "start": 16,
+ "end": 25,
+ "id": {
+ "type": "Identifier",
+ "start": 24,
+ "end": 25,
+ "name": "x"
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "start": 27,
+ "end": 42,
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "start": 31,
+ "end": 40,
+ "argument": {
+ "type": "Identifier",
+ "start": 38,
+ "end": 39,
+ "name": "y"
+ }
+ }
+ ]
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "MutableExpression",
+ "start": 16,
+ "end": 25,
+ "id": {
+ "type": "Identifier",
+ "start": 24,
+ "end": 25,
+ "name": "x"
+ }
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/mutable-destructure-array.js.json b/test/output/mutable-destructure-array.js.json
new file mode 100644
index 0000000..9b3a551
--- /dev/null
+++ b/test/output/mutable-destructure-array.js.json
@@ -0,0 +1,62 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 21,
+ "id": null,
+ "body": {
+ "type": "AssignmentExpression",
+ "start": 1,
+ "end": 19,
+ "operator": "=",
+ "left": {
+ "type": "ArrayPattern",
+ "start": 1,
+ "end": 12,
+ "elements": [
+ {
+ "type": "MutableExpression",
+ "start": 2,
+ "end": 11,
+ "id": {
+ "type": "Identifier",
+ "start": 10,
+ "end": 11,
+ "name": "x"
+ }
+ }
+ ]
+ },
+ "right": {
+ "type": "ArrayExpression",
+ "start": 15,
+ "end": 19,
+ "elements": [
+ {
+ "type": "Literal",
+ "start": 16,
+ "end": 18,
+ "value": 42,
+ "raw": "42"
+ }
+ ]
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "MutableExpression",
+ "start": 2,
+ "end": 11,
+ "id": {
+ "type": "Identifier",
+ "start": 10,
+ "end": 11,
+ "name": "x"
+ }
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/mutable-destructure-object.js.json b/test/output/mutable-destructure-object.js.json
new file mode 100644
index 0000000..9888e62
--- /dev/null
+++ b/test/output/mutable-destructure-object.js.json
@@ -0,0 +1,97 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 44,
+ "id": null,
+ "body": {
+ "type": "AssignmentExpression",
+ "start": 1,
+ "end": 42,
+ "operator": "=",
+ "left": {
+ "type": "ObjectPattern",
+ "start": 1,
+ "end": 22,
+ "properties": [
+ {
+ "type": "Property",
+ "start": 2,
+ "end": 21,
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "key": {
+ "type": "Identifier",
+ "start": 2,
+ "end": 10,
+ "name": "property"
+ },
+ "value": {
+ "type": "MutableExpression",
+ "start": 12,
+ "end": 21,
+ "id": {
+ "type": "Identifier",
+ "start": 20,
+ "end": 21,
+ "name": "x"
+ }
+ },
+ "kind": "init"
+ }
+ ]
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "start": 25,
+ "end": 42,
+ "properties": [
+ {
+ "type": "Property",
+ "start": 26,
+ "end": 41,
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "key": {
+ "type": "Identifier",
+ "start": 26,
+ "end": 34,
+ "name": "property"
+ },
+ "value": {
+ "type": "Identifier",
+ "start": 36,
+ "end": 41,
+ "name": "value"
+ },
+ "kind": "init"
+ }
+ ]
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "MutableExpression",
+ "start": 12,
+ "end": 21,
+ "id": {
+ "type": "Identifier",
+ "start": 20,
+ "end": 21,
+ "name": "x"
+ }
+ },
+ {
+ "type": "Identifier",
+ "start": 36,
+ "end": 41,
+ "name": "value"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/mutable-destructure-property.js.json b/test/output/mutable-destructure-property.js.json
new file mode 100644
index 0000000..2cd94c5
--- /dev/null
+++ b/test/output/mutable-destructure-property.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected keyword 'mutable' (1:2)",
+ "pos": 2,
+ "loc": {
+ "line": 1,
+ "column": 2
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/mutable-in-markdown.md.json b/test/output/mutable-in-markdown.md.json
new file mode 100644
index 0000000..b54d8d5
--- /dev/null
+++ b/test/output/mutable-in-markdown.md.json
@@ -0,0 +1,175 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 100,
+ "id": null,
+ "body": {
+ "type": "TemplateLiteral",
+ "start": 0,
+ "end": 100,
+ "expressions": [
+ {
+ "type": "UpdateExpression",
+ "start": 2,
+ "end": 19,
+ "operator": "++",
+ "prefix": true,
+ "argument": {
+ "type": "MutableExpression",
+ "start": 4,
+ "end": 19,
+ "id": {
+ "type": "Identifier",
+ "start": 12,
+ "end": 19,
+ "name": "counter"
+ }
+ }
+ },
+ {
+ "type": "UpdateExpression",
+ "start": 35,
+ "end": 52,
+ "operator": "++",
+ "prefix": true,
+ "argument": {
+ "type": "MutableExpression",
+ "start": 37,
+ "end": 52,
+ "id": {
+ "type": "Identifier",
+ "start": 45,
+ "end": 52,
+ "name": "counter"
+ }
+ }
+ },
+ {
+ "type": "UpdateExpression",
+ "start": 69,
+ "end": 86,
+ "operator": "++",
+ "prefix": true,
+ "argument": {
+ "type": "MutableExpression",
+ "start": 71,
+ "end": 86,
+ "id": {
+ "type": "Identifier",
+ "start": 79,
+ "end": 86,
+ "name": "counter"
+ }
+ }
+ }
+ ],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 0,
+ "end": 0,
+ "value": {
+ "raw": "",
+ "cooked": null
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 20,
+ "end": 33,
+ "value": {
+ "raw": ". First item\n",
+ "cooked": null
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 53,
+ "end": 67,
+ "value": {
+ "raw": ". Second item\n",
+ "cooked": null
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 87,
+ "end": 100,
+ "value": {
+ "raw": ". Third item\n",
+ "cooked": null
+ },
+ "tail": true
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "tag": {
+ "type": "CellTag",
+ "start": 0,
+ "end": 2,
+ "body": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ },
+ "input": "md",
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+ },
+ "raw": false,
+ "references": [
+ {
+ "type": "MutableExpression",
+ "start": 4,
+ "end": 19,
+ "id": {
+ "type": "Identifier",
+ "start": 12,
+ "end": 19,
+ "name": "counter"
+ }
+ },
+ {
+ "type": "MutableExpression",
+ "start": 37,
+ "end": 52,
+ "id": {
+ "type": "Identifier",
+ "start": 45,
+ "end": 52,
+ "name": "counter"
+ }
+ },
+ {
+ "type": "MutableExpression",
+ "start": 71,
+ "end": 86,
+ "id": {
+ "type": "Identifier",
+ "start": 79,
+ "end": 86,
+ "name": "counter"
+ }
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/mutable-internal-comment.js.json b/test/output/mutable-internal-comment.js.json
new file mode 100644
index 0000000..904e5a3
--- /dev/null
+++ b/test/output/mutable-internal-comment.js.json
@@ -0,0 +1,35 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 28,
+ "id": null,
+ "body": {
+ "type": "MutableExpression",
+ "start": 0,
+ "end": 27,
+ "id": {
+ "type": "Identifier",
+ "start": 22,
+ "end": 27,
+ "name": "value"
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "MutableExpression",
+ "start": 0,
+ "end": 27,
+ "id": {
+ "type": "Identifier",
+ "start": 22,
+ "end": 27,
+ "name": "value"
+ }
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/mutable-member.js.json b/test/output/mutable-member.js.json
new file mode 100644
index 0000000..8632d5e
--- /dev/null
+++ b/test/output/mutable-member.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected token (1:15)",
+ "pos": 15,
+ "loc": {
+ "line": 1,
+ "column": 15
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/mutable-reference.js.json b/test/output/mutable-reference.js.json
new file mode 100644
index 0000000..e91478d
--- /dev/null
+++ b/test/output/mutable-reference.js.json
@@ -0,0 +1,48 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 23,
+ "id": null,
+ "body": {
+ "type": "MemberExpression",
+ "start": 0,
+ "end": 22,
+ "object": {
+ "type": "MutableExpression",
+ "start": 0,
+ "end": 13,
+ "id": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 13,
+ "name": "value"
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 14,
+ "end": 22,
+ "name": "property"
+ },
+ "computed": false,
+ "optional": false
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "MutableExpression",
+ "start": 0,
+ "end": 13,
+ "id": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 13,
+ "name": "value"
+ }
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/mutable-var.js.json b/test/output/mutable-var.js.json
new file mode 100644
index 0000000..0bc8fb0
--- /dev/null
+++ b/test/output/mutable-var.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected keyword 'mutable' (2:6)",
+ "pos": 8,
+ "loc": {
+ "line": 2,
+ "column": 6
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/named-async-function.js.json b/test/output/named-async-function.js.json
new file mode 100644
index 0000000..c523107
--- /dev/null
+++ b/test/output/named-async-function.js.json
@@ -0,0 +1,62 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 40,
+ "id": {
+ "type": "Identifier",
+ "start": 15,
+ "end": 18,
+ "name": "foo"
+ },
+ "body": {
+ "type": "FunctionExpression",
+ "start": 0,
+ "end": 39,
+ "id": {
+ "type": "Identifier",
+ "start": 15,
+ "end": 18,
+ "name": "foo"
+ },
+ "expression": false,
+ "generator": false,
+ "async": true,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 21,
+ "end": 39,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 23,
+ "end": 37,
+ "expression": {
+ "type": "AwaitExpression",
+ "start": 23,
+ "end": 36,
+ "argument": {
+ "type": "Identifier",
+ "start": 29,
+ "end": 36,
+ "name": "promise"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 29,
+ "end": 36,
+ "name": "promise"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/named-block-cell.js.json b/test/output/named-block-cell.js.json
new file mode 100644
index 0000000..307e396
--- /dev/null
+++ b/test/output/named-block-cell.js.json
@@ -0,0 +1,36 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 23,
+ "id": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "foo"
+ },
+ "body": {
+ "type": "BlockStatement",
+ "start": 6,
+ "end": 22,
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "start": 10,
+ "end": 20,
+ "argument": {
+ "type": "Literal",
+ "start": 17,
+ "end": 19,
+ "value": 42,
+ "raw": "42"
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/named-class-with-field.js.json b/test/output/named-class-with-field.js.json
new file mode 100644
index 0000000..aac6b0f
--- /dev/null
+++ b/test/output/named-class-with-field.js.json
@@ -0,0 +1,56 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 33,
+ "id": {
+ "type": "Identifier",
+ "start": 6,
+ "end": 9,
+ "name": "Foo"
+ },
+ "body": {
+ "type": "ClassExpression",
+ "start": 0,
+ "end": 32,
+ "id": {
+ "type": "Identifier",
+ "start": 6,
+ "end": 9,
+ "name": "Foo"
+ },
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "start": 10,
+ "end": 32,
+ "body": [
+ {
+ "type": "PropertyDefinition",
+ "start": 14,
+ "end": 30,
+ "static": false,
+ "computed": false,
+ "key": {
+ "type": "Identifier",
+ "start": 14,
+ "end": 19,
+ "name": "field"
+ },
+ "value": {
+ "type": "Literal",
+ "start": 22,
+ "end": 29,
+ "value": "field",
+ "raw": "\"field\""
+ }
+ }
+ ]
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/named-class-with-method.js.json b/test/output/named-class-with-method.js.json
new file mode 100644
index 0000000..6d02cdc
--- /dev/null
+++ b/test/output/named-class-with-method.js.json
@@ -0,0 +1,79 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 49,
+ "id": {
+ "type": "Identifier",
+ "start": 6,
+ "end": 9,
+ "name": "Foo"
+ },
+ "body": {
+ "type": "ClassExpression",
+ "start": 0,
+ "end": 48,
+ "id": {
+ "type": "Identifier",
+ "start": 6,
+ "end": 9,
+ "name": "Foo"
+ },
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "start": 10,
+ "end": 48,
+ "body": [
+ {
+ "type": "MethodDefinition",
+ "start": 14,
+ "end": 46,
+ "static": false,
+ "computed": false,
+ "key": {
+ "type": "Identifier",
+ "start": 14,
+ "end": 20,
+ "name": "method"
+ },
+ "kind": "method",
+ "value": {
+ "type": "FunctionExpression",
+ "start": 20,
+ "end": 46,
+ "id": null,
+ "expression": false,
+ "generator": false,
+ "async": false,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 23,
+ "end": 46,
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "start": 29,
+ "end": 42,
+ "argument": {
+ "type": "Literal",
+ "start": 36,
+ "end": 41,
+ "value": "foo",
+ "raw": "\"foo\""
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/named-class-with-private-field.js.json b/test/output/named-class-with-private-field.js.json
new file mode 100644
index 0000000..4162546
--- /dev/null
+++ b/test/output/named-class-with-private-field.js.json
@@ -0,0 +1,86 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 49,
+ "id": {
+ "type": "Identifier",
+ "start": 6,
+ "end": 9,
+ "name": "Foo"
+ },
+ "body": {
+ "type": "ClassExpression",
+ "start": 0,
+ "end": 48,
+ "id": {
+ "type": "Identifier",
+ "start": 6,
+ "end": 9,
+ "name": "Foo"
+ },
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "start": 10,
+ "end": 48,
+ "body": [
+ {
+ "type": "PropertyDefinition",
+ "start": 14,
+ "end": 31,
+ "static": false,
+ "computed": false,
+ "key": {
+ "type": "PrivateIdentifier",
+ "start": 14,
+ "end": 20,
+ "name": "field"
+ },
+ "value": {
+ "type": "Literal",
+ "start": 23,
+ "end": 30,
+ "value": "field",
+ "raw": "\"field\""
+ }
+ },
+ {
+ "type": "MethodDefinition",
+ "start": 34,
+ "end": 46,
+ "static": false,
+ "computed": false,
+ "key": {
+ "type": "PrivateIdentifier",
+ "start": 34,
+ "end": 41,
+ "name": "method"
+ },
+ "kind": "method",
+ "value": {
+ "type": "FunctionExpression",
+ "start": 41,
+ "end": 46,
+ "id": null,
+ "expression": false,
+ "generator": false,
+ "async": false,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 44,
+ "end": 46,
+ "body": []
+ }
+ }
+ }
+ ]
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/named-class-with-static-field.js.json b/test/output/named-class-with-static-field.js.json
new file mode 100644
index 0000000..0520808
--- /dev/null
+++ b/test/output/named-class-with-static-field.js.json
@@ -0,0 +1,56 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 40,
+ "id": {
+ "type": "Identifier",
+ "start": 6,
+ "end": 9,
+ "name": "Foo"
+ },
+ "body": {
+ "type": "ClassExpression",
+ "start": 0,
+ "end": 39,
+ "id": {
+ "type": "Identifier",
+ "start": 6,
+ "end": 9,
+ "name": "Foo"
+ },
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "start": 10,
+ "end": 39,
+ "body": [
+ {
+ "type": "PropertyDefinition",
+ "start": 14,
+ "end": 37,
+ "static": true,
+ "computed": false,
+ "key": {
+ "type": "Identifier",
+ "start": 21,
+ "end": 26,
+ "name": "field"
+ },
+ "value": {
+ "type": "Literal",
+ "start": 29,
+ "end": 36,
+ "value": "field",
+ "raw": "\"field\""
+ }
+ }
+ ]
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/named-class.js.json b/test/output/named-class.js.json
new file mode 100644
index 0000000..2b95f92
--- /dev/null
+++ b/test/output/named-class.js.json
@@ -0,0 +1,35 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 13,
+ "id": {
+ "type": "Identifier",
+ "start": 6,
+ "end": 9,
+ "name": "Foo"
+ },
+ "body": {
+ "type": "ClassExpression",
+ "start": 0,
+ "end": 12,
+ "id": {
+ "type": "Identifier",
+ "start": 6,
+ "end": 9,
+ "name": "Foo"
+ },
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "start": 10,
+ "end": 12,
+ "body": []
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/named-empty.js.json b/test/output/named-empty.js.json
new file mode 100644
index 0000000..5ac5f52
--- /dev/null
+++ b/test/output/named-empty.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected end of input (2:0)",
+ "pos": 6,
+ "loc": {
+ "line": 2,
+ "column": 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/named-expression-cell.js.json b/test/output/named-expression-cell.js.json
new file mode 100644
index 0000000..209ef2a
--- /dev/null
+++ b/test/output/named-expression-cell.js.json
@@ -0,0 +1,24 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 9,
+ "id": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "foo"
+ },
+ "body": {
+ "type": "Literal",
+ "start": 6,
+ "end": 8,
+ "value": 42,
+ "raw": "42"
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/named-function-in-named-cell.js.json b/test/output/named-function-in-named-cell.js.json
new file mode 100644
index 0000000..0ca1237
--- /dev/null
+++ b/test/output/named-function-in-named-cell.js.json
@@ -0,0 +1,51 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 36,
+ "id": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "foo"
+ },
+ "body": {
+ "type": "FunctionExpression",
+ "start": 6,
+ "end": 35,
+ "id": {
+ "type": "Identifier",
+ "start": 15,
+ "end": 18,
+ "name": "bar"
+ },
+ "expression": false,
+ "generator": false,
+ "async": false,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 21,
+ "end": 35,
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "start": 23,
+ "end": 33,
+ "argument": {
+ "type": "Literal",
+ "start": 30,
+ "end": 32,
+ "value": 42,
+ "raw": "42"
+ }
+ }
+ ]
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/named-function.js.json b/test/output/named-function.js.json
new file mode 100644
index 0000000..5ee6881
--- /dev/null
+++ b/test/output/named-function.js.json
@@ -0,0 +1,51 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 30,
+ "id": {
+ "type": "Identifier",
+ "start": 9,
+ "end": 12,
+ "name": "foo"
+ },
+ "body": {
+ "type": "FunctionExpression",
+ "start": 0,
+ "end": 29,
+ "id": {
+ "type": "Identifier",
+ "start": 9,
+ "end": 12,
+ "name": "foo"
+ },
+ "expression": false,
+ "generator": false,
+ "async": false,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 15,
+ "end": 29,
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "start": 17,
+ "end": 27,
+ "argument": {
+ "type": "Literal",
+ "start": 24,
+ "end": 26,
+ "value": 42,
+ "raw": "42"
+ }
+ }
+ ]
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/named-generator-function.js.json b/test/output/named-generator-function.js.json
new file mode 100644
index 0000000..fa6afad
--- /dev/null
+++ b/test/output/named-generator-function.js.json
@@ -0,0 +1,57 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 30,
+ "id": {
+ "type": "Identifier",
+ "start": 10,
+ "end": 13,
+ "name": "foo"
+ },
+ "body": {
+ "type": "FunctionExpression",
+ "start": 0,
+ "end": 29,
+ "id": {
+ "type": "Identifier",
+ "start": 10,
+ "end": 13,
+ "name": "foo"
+ },
+ "expression": false,
+ "generator": true,
+ "async": false,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 16,
+ "end": 29,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 18,
+ "end": 27,
+ "expression": {
+ "type": "YieldExpression",
+ "start": 18,
+ "end": 26,
+ "delegate": false,
+ "argument": {
+ "type": "Literal",
+ "start": 24,
+ "end": 26,
+ "value": 42,
+ "raw": "42"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/nullish-coalescing.js.json b/test/output/nullish-coalescing.js.json
new file mode 100644
index 0000000..feadd10
--- /dev/null
+++ b/test/output/nullish-coalescing.js.json
@@ -0,0 +1,37 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 31,
+ "id": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "foo"
+ },
+ "body": {
+ "type": "LogicalExpression",
+ "start": 6,
+ "end": 30,
+ "left": {
+ "type": "Literal",
+ "start": 6,
+ "end": 10,
+ "value": null,
+ "raw": "null"
+ },
+ "operator": "??",
+ "right": {
+ "type": "Literal",
+ "start": 14,
+ "end": 30,
+ "value": "default string",
+ "raw": "'default string'"
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/object-literal.js.json b/test/output/object-literal.js.json
new file mode 100644
index 0000000..b9eb52c
--- /dev/null
+++ b/test/output/object-literal.js.json
@@ -0,0 +1,41 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 12,
+ "id": null,
+ "body": {
+ "type": "ObjectExpression",
+ "start": 1,
+ "end": 10,
+ "properties": [
+ {
+ "type": "Property",
+ "start": 2,
+ "end": 9,
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "key": {
+ "type": "Identifier",
+ "start": 2,
+ "end": 5,
+ "name": "foo"
+ },
+ "value": {
+ "type": "Literal",
+ "start": 7,
+ "end": 9,
+ "value": 42,
+ "raw": "42"
+ },
+ "kind": "init"
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/optional-chaining.js.json b/test/output/optional-chaining.js.json
new file mode 100644
index 0000000..61a0952
--- /dev/null
+++ b/test/output/optional-chaining.js.json
@@ -0,0 +1,61 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 31,
+ "id": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 7,
+ "name": "dogName"
+ },
+ "body": {
+ "type": "ChainExpression",
+ "start": 10,
+ "end": 30,
+ "expression": {
+ "type": "MemberExpression",
+ "start": 10,
+ "end": 30,
+ "object": {
+ "type": "MemberExpression",
+ "start": 10,
+ "end": 24,
+ "object": {
+ "type": "Identifier",
+ "start": 10,
+ "end": 20,
+ "name": "adventurer"
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 21,
+ "end": 24,
+ "name": "dog"
+ },
+ "computed": false,
+ "optional": false
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 26,
+ "end": 30,
+ "name": "name"
+ },
+ "computed": false,
+ "optional": true
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 10,
+ "end": 20,
+ "name": "adventurer"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/reserved-function.js.json b/test/output/reserved-function.js.json
new file mode 100644
index 0000000..3a14d8f
--- /dev/null
+++ b/test/output/reserved-function.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Identifier 'Array' is reserved (1:9)",
+ "pos": 9,
+ "loc": {
+ "line": 1,
+ "column": 9
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/reserved-import-as.js.json b/test/output/reserved-import-as.js.json
new file mode 100644
index 0000000..c4cf152
--- /dev/null
+++ b/test/output/reserved-import-as.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Identifier 'Array' is reserved (1:15)",
+ "pos": 15,
+ "loc": {
+ "line": 1,
+ "column": 15
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/reserved-import-view.js.json b/test/output/reserved-import-view.js.json
new file mode 100644
index 0000000..c4cf152
--- /dev/null
+++ b/test/output/reserved-import-view.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Identifier 'Array' is reserved (1:15)",
+ "pos": 15,
+ "loc": {
+ "line": 1,
+ "column": 15
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/reserved-import-with-as.js.json b/test/output/reserved-import-with-as.js.json
new file mode 100644
index 0000000..e932ecd
--- /dev/null
+++ b/test/output/reserved-import-with-as.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Identifier 'Array' is reserved (1:26)",
+ "pos": 26,
+ "loc": {
+ "line": 1,
+ "column": 26
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/reserved-import-with.js.json b/test/output/reserved-import-with.js.json
new file mode 100644
index 0000000..c3b60b4
--- /dev/null
+++ b/test/output/reserved-import-with.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Identifier 'Array' is reserved (1:19)",
+ "pos": 19,
+ "loc": {
+ "line": 1,
+ "column": 19
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/reserved-import.js.json b/test/output/reserved-import.js.json
new file mode 100644
index 0000000..3052617
--- /dev/null
+++ b/test/output/reserved-import.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Identifier 'Array' is reserved (1:8)",
+ "pos": 8,
+ "loc": {
+ "line": 1,
+ "column": 8
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/reserved-name.js.json b/test/output/reserved-name.js.json
new file mode 100644
index 0000000..61bd20b
--- /dev/null
+++ b/test/output/reserved-name.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Identifier 'Array' is reserved (1:0)",
+ "pos": 0,
+ "loc": {
+ "line": 1,
+ "column": 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/reserved-view.js.json b/test/output/reserved-view.js.json
new file mode 100644
index 0000000..a45eb21
--- /dev/null
+++ b/test/output/reserved-view.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Identifier 'Array' is reserved (1:7)",
+ "pos": 7,
+ "loc": {
+ "line": 1,
+ "column": 7
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/secret.js.json b/test/output/secret.js.json
new file mode 100644
index 0000000..665c995
--- /dev/null
+++ b/test/output/secret.js.json
@@ -0,0 +1,76 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 27,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 26,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 4,
+ "end": 24,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 8,
+ "end": 23,
+ "id": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 9,
+ "name": "a"
+ },
+ "init": {
+ "type": "CallExpression",
+ "start": 12,
+ "end": 23,
+ "callee": {
+ "type": "Identifier",
+ "start": 12,
+ "end": 18,
+ "name": "Secret"
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "start": 19,
+ "end": 22,
+ "value": "a",
+ "raw": "\"a\""
+ }
+ ],
+ "optional": false
+ }
+ }
+ ],
+ "kind": "let"
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 12,
+ "end": 18,
+ "name": "Secret"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": [
+ [
+ "a",
+ [
+ {
+ "start": 19,
+ "end": 22
+ }
+ ]
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/test/output/semicolon.js.json b/test/output/semicolon.js.json
new file mode 100644
index 0000000..b3d875e
--- /dev/null
+++ b/test/output/semicolon.js.json
@@ -0,0 +1,13 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 2,
+ "id": null,
+ "body": null,
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/sequence-expression.js.json b/test/output/sequence-expression.js.json
new file mode 100644
index 0000000..b790637
--- /dev/null
+++ b/test/output/sequence-expression.js.json
@@ -0,0 +1,40 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 8,
+ "id": null,
+ "body": {
+ "type": "SequenceExpression",
+ "start": 0,
+ "end": 7,
+ "expressions": [
+ {
+ "type": "Literal",
+ "start": 0,
+ "end": 1,
+ "value": 1,
+ "raw": "1"
+ },
+ {
+ "type": "Literal",
+ "start": 3,
+ "end": 4,
+ "value": 2,
+ "raw": "2"
+ },
+ {
+ "type": "Literal",
+ "start": 6,
+ "end": 7,
+ "value": 3,
+ "raw": "3"
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/shadowed-view.js.json b/test/output/shadowed-view.js.json
new file mode 100644
index 0000000..4fbf2a3
--- /dev/null
+++ b/test/output/shadowed-view.js.json
@@ -0,0 +1,97 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 45,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 44,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 4,
+ "end": 14,
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 8,
+ "end": 13,
+ "id": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 9,
+ "name": "x"
+ },
+ "init": {
+ "type": "Literal",
+ "start": 12,
+ "end": 13,
+ "value": 2,
+ "raw": "2"
+ }
+ }
+ ],
+ "kind": "let"
+ },
+ {
+ "type": "ExpressionStatement",
+ "start": 17,
+ "end": 23,
+ "expression": {
+ "type": "AssignmentExpression",
+ "start": 17,
+ "end": 22,
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "start": 17,
+ "end": 18,
+ "name": "x"
+ },
+ "right": {
+ "type": "Literal",
+ "start": 21,
+ "end": 22,
+ "value": 4,
+ "raw": "4"
+ }
+ }
+ },
+ {
+ "type": "ReturnStatement",
+ "start": 26,
+ "end": 42,
+ "argument": {
+ "type": "ViewExpression",
+ "start": 33,
+ "end": 41,
+ "id": {
+ "type": "Identifier",
+ "start": 40,
+ "end": 41,
+ "name": "x"
+ }
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "ViewExpression",
+ "start": 33,
+ "end": 41,
+ "id": {
+ "type": "Identifier",
+ "start": 40,
+ "end": 41,
+ "name": "x"
+ }
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/simple-await-tagged-template.js.json b/test/output/simple-await-tagged-template.js.json
new file mode 100644
index 0000000..6ff046b
--- /dev/null
+++ b/test/output/simple-await-tagged-template.js.json
@@ -0,0 +1,76 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 21,
+ "id": null,
+ "body": {
+ "type": "TaggedTemplateExpression",
+ "start": 0,
+ "end": 20,
+ "tag": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ },
+ "quasi": {
+ "type": "TemplateLiteral",
+ "start": 2,
+ "end": 20,
+ "expressions": [
+ {
+ "type": "AwaitExpression",
+ "start": 5,
+ "end": 18,
+ "argument": {
+ "type": "Identifier",
+ "start": 11,
+ "end": 18,
+ "name": "promise"
+ }
+ }
+ ],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 3,
+ "end": 3,
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 19,
+ "end": 19,
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": true
+ }
+ ]
+ }
+ },
+ "async": true,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ },
+ {
+ "type": "Identifier",
+ "start": 11,
+ "end": 18,
+ "name": "promise"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/simple-await-template.js.json b/test/output/simple-await-template.js.json
new file mode 100644
index 0000000..d26fdb4
--- /dev/null
+++ b/test/output/simple-await-template.js.json
@@ -0,0 +1,59 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 19,
+ "id": null,
+ "body": {
+ "type": "TemplateLiteral",
+ "start": 0,
+ "end": 18,
+ "expressions": [
+ {
+ "type": "AwaitExpression",
+ "start": 3,
+ "end": 16,
+ "argument": {
+ "type": "Identifier",
+ "start": 9,
+ "end": 16,
+ "name": "promise"
+ }
+ }
+ ],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 1,
+ "end": 1,
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 17,
+ "end": 17,
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": true
+ }
+ ]
+ },
+ "async": true,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 9,
+ "end": 16,
+ "name": "promise"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/simple-await-template.md.json b/test/output/simple-await-template.md.json
new file mode 100644
index 0000000..7902d25
--- /dev/null
+++ b/test/output/simple-await-template.md.json
@@ -0,0 +1,84 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 16,
+ "id": null,
+ "body": {
+ "type": "TemplateLiteral",
+ "start": 0,
+ "end": 16,
+ "expressions": [
+ {
+ "type": "AwaitExpression",
+ "start": 2,
+ "end": 15,
+ "argument": {
+ "type": "Identifier",
+ "start": 8,
+ "end": 15,
+ "name": "promise"
+ }
+ }
+ ],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 0,
+ "end": 0,
+ "value": {
+ "raw": "",
+ "cooked": null
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 16,
+ "end": 16,
+ "value": {
+ "raw": ""
+ },
+ "tail": true
+ }
+ ]
+ },
+ "async": true,
+ "generator": false,
+ "tag": {
+ "type": "CellTag",
+ "start": 0,
+ "end": 2,
+ "body": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ },
+ "input": "md",
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+ },
+ "raw": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 8,
+ "end": 15,
+ "name": "promise"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/simple-identifier.js.json b/test/output/simple-identifier.js.json
new file mode 100644
index 0000000..37c9e5f
--- /dev/null
+++ b/test/output/simple-identifier.js.json
@@ -0,0 +1,25 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 4,
+ "id": null,
+ "body": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "foo"
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "foo"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/spread-element.js.json b/test/output/spread-element.js.json
new file mode 100644
index 0000000..7ae346d
--- /dev/null
+++ b/test/output/spread-element.js.json
@@ -0,0 +1,68 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 23,
+ "id": null,
+ "body": {
+ "type": "ArrowFunctionExpression",
+ "start": 0,
+ "end": 22,
+ "id": null,
+ "expression": true,
+ "generator": false,
+ "async": false,
+ "params": [
+ {
+ "type": "ObjectPattern",
+ "start": 1,
+ "end": 14,
+ "properties": [
+ {
+ "type": "Property",
+ "start": 2,
+ "end": 5,
+ "method": false,
+ "shorthand": true,
+ "computed": false,
+ "key": {
+ "type": "Identifier",
+ "start": 2,
+ "end": 5,
+ "name": "foo"
+ },
+ "kind": "init",
+ "value": {
+ "type": "Identifier",
+ "start": 2,
+ "end": 5,
+ "name": "foo"
+ }
+ },
+ {
+ "type": "RestElement",
+ "start": 7,
+ "end": 13,
+ "argument": {
+ "type": "Identifier",
+ "start": 10,
+ "end": 13,
+ "name": "bar"
+ }
+ }
+ ]
+ }
+ ],
+ "body": {
+ "type": "Identifier",
+ "start": 19,
+ "end": 22,
+ "name": "bar"
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/template-literal-semicolon.js.json b/test/output/template-literal-semicolon.js.json
new file mode 100644
index 0000000..032c845
--- /dev/null
+++ b/test/output/template-literal-semicolon.js.json
@@ -0,0 +1,48 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 13,
+ "id": null,
+ "body": {
+ "type": "TaggedTemplateExpression",
+ "start": 0,
+ "end": 11,
+ "tag": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 4,
+ "name": "html"
+ },
+ "quasi": {
+ "type": "TemplateLiteral",
+ "start": 4,
+ "end": 11,
+ "expressions": [],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 5,
+ "end": 10,
+ "value": {
+ "raw": "hello",
+ "cooked": "hello"
+ },
+ "tail": true
+ }
+ ]
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 4,
+ "name": "html"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/this-as-name.js.json b/test/output/this-as-name.js.json
new file mode 100644
index 0000000..d7f58a0
--- /dev/null
+++ b/test/output/this-as-name.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Assigning to rvalue (1:0)",
+ "pos": 0,
+ "loc": {
+ "line": 1,
+ "column": 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/this.js.json b/test/output/this.js.json
new file mode 100644
index 0000000..55036ac
--- /dev/null
+++ b/test/output/this.js.json
@@ -0,0 +1,17 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 5,
+ "id": null,
+ "body": {
+ "type": "ThisExpression",
+ "start": 0,
+ "end": 4
+ },
+ "async": false,
+ "generator": false,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/underline.tex.json b/test/output/underline.tex.json
new file mode 100644
index 0000000..35b9071
--- /dev/null
+++ b/test/output/underline.tex.json
@@ -0,0 +1,69 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 54,
+ "id": null,
+ "body": {
+ "type": "TemplateLiteral",
+ "start": 0,
+ "end": 54,
+ "expressions": [],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 0,
+ "end": 54,
+ "value": {
+ "raw": "\\text{This is some text \\underline{with an underline}}",
+ "cooked": null
+ },
+ "tail": true
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "tag": {
+ "type": "CellTag",
+ "start": 0,
+ "end": 9,
+ "body": {
+ "type": "MemberExpression",
+ "start": 0,
+ "end": 9,
+ "object": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "tex"
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 4,
+ "end": 9,
+ "name": "block"
+ },
+ "computed": false,
+ "optional": false
+ },
+ "input": "tex.block",
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 3,
+ "name": "tex"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+ },
+ "raw": true,
+ "references": [],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/var-statement.js.json b/test/output/var-statement.js.json
new file mode 100644
index 0000000..4839ab2
--- /dev/null
+++ b/test/output/var-statement.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected token (1:0)",
+ "pos": 0,
+ "loc": {
+ "line": 1,
+ "column": 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/viewof-argument.js.json b/test/output/viewof-argument.js.json
new file mode 100644
index 0000000..2e0fa4e
--- /dev/null
+++ b/test/output/viewof-argument.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected keyword 'viewof' (1:13)",
+ "pos": 13,
+ "loc": {
+ "line": 1,
+ "column": 13
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/viewof-assignment.js.json b/test/output/viewof-assignment.js.json
new file mode 100644
index 0000000..cbff3e6
--- /dev/null
+++ b/test/output/viewof-assignment.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Assigning to rvalue (2:2)",
+ "pos": 4,
+ "loc": {
+ "line": 2,
+ "column": 2
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/viewof-binding.js.json b/test/output/viewof-binding.js.json
new file mode 100644
index 0000000..63c1d6a
--- /dev/null
+++ b/test/output/viewof-binding.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected keyword 'viewof' (2:6)",
+ "pos": 8,
+ "loc": {
+ "line": 2,
+ "column": 6
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/viewof-block-cell.js.json b/test/output/viewof-block-cell.js.json
new file mode 100644
index 0000000..d505043
--- /dev/null
+++ b/test/output/viewof-block-cell.js.json
@@ -0,0 +1,67 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 39,
+ "id": {
+ "type": "ViewExpression",
+ "start": 0,
+ "end": 10,
+ "id": {
+ "type": "Identifier",
+ "start": 7,
+ "end": 10,
+ "name": "foo"
+ }
+ },
+ "body": {
+ "type": "BlockStatement",
+ "start": 13,
+ "end": 38,
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "start": 17,
+ "end": 36,
+ "argument": {
+ "type": "CallExpression",
+ "start": 24,
+ "end": 35,
+ "callee": {
+ "type": "MemberExpression",
+ "start": 24,
+ "end": 33,
+ "object": {
+ "type": "Identifier",
+ "start": 24,
+ "end": 27,
+ "name": "DOM"
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 28,
+ "end": 33,
+ "name": "input"
+ },
+ "computed": false,
+ "optional": false
+ },
+ "arguments": [],
+ "optional": false
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 24,
+ "end": 27,
+ "name": "DOM"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/viewof-expression-cell.js.json b/test/output/viewof-expression-cell.js.json
new file mode 100644
index 0000000..4b5c5b7
--- /dev/null
+++ b/test/output/viewof-expression-cell.js.json
@@ -0,0 +1,55 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 25,
+ "id": {
+ "type": "ViewExpression",
+ "start": 0,
+ "end": 10,
+ "id": {
+ "type": "Identifier",
+ "start": 7,
+ "end": 10,
+ "name": "foo"
+ }
+ },
+ "body": {
+ "type": "CallExpression",
+ "start": 13,
+ "end": 24,
+ "callee": {
+ "type": "MemberExpression",
+ "start": 13,
+ "end": 22,
+ "object": {
+ "type": "Identifier",
+ "start": 13,
+ "end": 16,
+ "name": "DOM"
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 17,
+ "end": 22,
+ "name": "input"
+ },
+ "computed": false,
+ "optional": false
+ },
+ "arguments": [],
+ "optional": false
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 13,
+ "end": 16,
+ "name": "DOM"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/viewof-in-markdown.md.json b/test/output/viewof-in-markdown.md.json
new file mode 100644
index 0000000..b766387
--- /dev/null
+++ b/test/output/viewof-in-markdown.md.json
@@ -0,0 +1,109 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 37,
+ "id": null,
+ "body": {
+ "type": "TemplateLiteral",
+ "start": 0,
+ "end": 37,
+ "expressions": [
+ {
+ "type": "MemberExpression",
+ "start": 16,
+ "end": 34,
+ "object": {
+ "type": "Identifier",
+ "start": 16,
+ "end": 22,
+ "name": "object"
+ },
+ "property": {
+ "type": "ViewExpression",
+ "start": 23,
+ "end": 33,
+ "id": {
+ "type": "Identifier",
+ "start": 30,
+ "end": 33,
+ "name": "foo"
+ }
+ },
+ "computed": true,
+ "optional": false
+ }
+ ],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 0,
+ "end": 14,
+ "value": {
+ "raw": "# `Code Title ",
+ "cooked": null
+ },
+ "tail": false
+ },
+ {
+ "type": "TemplateElement",
+ "start": 35,
+ "end": 37,
+ "value": {
+ "raw": "`\n",
+ "cooked": null
+ },
+ "tail": true
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "tag": {
+ "type": "CellTag",
+ "start": 0,
+ "end": 2,
+ "body": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ },
+ "input": "md",
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 2,
+ "name": "md"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+ },
+ "raw": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 16,
+ "end": 22,
+ "name": "object"
+ },
+ {
+ "type": "ViewExpression",
+ "start": 23,
+ "end": 33,
+ "id": {
+ "type": "Identifier",
+ "start": 30,
+ "end": 33,
+ "name": "foo"
+ }
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/viewof-internal-comment.js.json b/test/output/viewof-internal-comment.js.json
new file mode 100644
index 0000000..90f5057
--- /dev/null
+++ b/test/output/viewof-internal-comment.js.json
@@ -0,0 +1,55 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 39,
+ "id": {
+ "type": "ViewExpression",
+ "start": 0,
+ "end": 24,
+ "id": {
+ "type": "Identifier",
+ "start": 21,
+ "end": 24,
+ "name": "bar"
+ }
+ },
+ "body": {
+ "type": "CallExpression",
+ "start": 27,
+ "end": 38,
+ "callee": {
+ "type": "MemberExpression",
+ "start": 27,
+ "end": 36,
+ "object": {
+ "type": "Identifier",
+ "start": 27,
+ "end": 30,
+ "name": "DOM"
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 31,
+ "end": 36,
+ "name": "range"
+ },
+ "computed": false,
+ "optional": false
+ },
+ "arguments": [],
+ "optional": false
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 27,
+ "end": 30,
+ "name": "DOM"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/viewof-let.js.json b/test/output/viewof-let.js.json
new file mode 100644
index 0000000..63c1d6a
--- /dev/null
+++ b/test/output/viewof-let.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected keyword 'viewof' (2:6)",
+ "pos": 8,
+ "loc": {
+ "line": 2,
+ "column": 6
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/viewof-member-expression.js.json b/test/output/viewof-member-expression.js.json
new file mode 100644
index 0000000..2ac484e
--- /dev/null
+++ b/test/output/viewof-member-expression.js.json
@@ -0,0 +1,48 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 16,
+ "id": null,
+ "body": {
+ "type": "MemberExpression",
+ "start": 0,
+ "end": 15,
+ "object": {
+ "type": "ViewExpression",
+ "start": 0,
+ "end": 10,
+ "id": {
+ "type": "Identifier",
+ "start": 7,
+ "end": 10,
+ "name": "foo"
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 11,
+ "end": 15,
+ "name": "name"
+ },
+ "computed": false,
+ "optional": false
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "ViewExpression",
+ "start": 0,
+ "end": 10,
+ "id": {
+ "type": "Identifier",
+ "start": 7,
+ "end": 10,
+ "name": "foo"
+ }
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/viewof-member.js.json b/test/output/viewof-member.js.json
new file mode 100644
index 0000000..a05b825
--- /dev/null
+++ b/test/output/viewof-member.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected token (1:14)",
+ "pos": 14,
+ "loc": {
+ "line": 1,
+ "column": 14
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/viewof-orphan.js.json b/test/output/viewof-orphan.js.json
new file mode 100644
index 0000000..e5418e1
--- /dev/null
+++ b/test/output/viewof-orphan.js.json
@@ -0,0 +1,11 @@
+{
+ "error": {
+ "type": "SyntaxError",
+ "message": "Unexpected token (1:7)",
+ "pos": 7,
+ "loc": {
+ "line": 1,
+ "column": 7
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/output/viewof-property.js.json b/test/output/viewof-property.js.json
new file mode 100644
index 0000000..8977be9
--- /dev/null
+++ b/test/output/viewof-property.js.json
@@ -0,0 +1,67 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 23,
+ "id": null,
+ "body": {
+ "type": "BinaryExpression",
+ "start": 0,
+ "end": 22,
+ "left": {
+ "type": "MemberExpression",
+ "start": 0,
+ "end": 18,
+ "object": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 6,
+ "name": "object"
+ },
+ "property": {
+ "type": "ViewExpression",
+ "start": 7,
+ "end": 17,
+ "id": {
+ "type": "Identifier",
+ "start": 14,
+ "end": 17,
+ "name": "foo"
+ }
+ },
+ "computed": true,
+ "optional": false
+ },
+ "operator": "+",
+ "right": {
+ "type": "Literal",
+ "start": 21,
+ "end": 22,
+ "value": 2,
+ "raw": "2"
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 0,
+ "end": 6,
+ "name": "object"
+ },
+ {
+ "type": "ViewExpression",
+ "start": 7,
+ "end": 17,
+ "id": {
+ "type": "Identifier",
+ "start": 14,
+ "end": 17,
+ "name": "foo"
+ }
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/viewof-reference-internal-comment.js.json b/test/output/viewof-reference-internal-comment.js.json
new file mode 100644
index 0000000..295fa9f
--- /dev/null
+++ b/test/output/viewof-reference-internal-comment.js.json
@@ -0,0 +1,35 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 25,
+ "id": null,
+ "body": {
+ "type": "ViewExpression",
+ "start": 0,
+ "end": 24,
+ "id": {
+ "type": "Identifier",
+ "start": 21,
+ "end": 24,
+ "name": "bar"
+ }
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "ViewExpression",
+ "start": 0,
+ "end": 24,
+ "id": {
+ "type": "Identifier",
+ "start": 21,
+ "end": 24,
+ "name": "bar"
+ }
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/viewof-reference.js.json b/test/output/viewof-reference.js.json
new file mode 100644
index 0000000..5420d38
--- /dev/null
+++ b/test/output/viewof-reference.js.json
@@ -0,0 +1,48 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 21,
+ "id": null,
+ "body": {
+ "type": "MemberExpression",
+ "start": 0,
+ "end": 20,
+ "object": {
+ "type": "ViewExpression",
+ "start": 0,
+ "end": 12,
+ "id": {
+ "type": "Identifier",
+ "start": 7,
+ "end": 12,
+ "name": "input"
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "start": 13,
+ "end": 20,
+ "name": "tagName"
+ },
+ "computed": false,
+ "optional": false
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "ViewExpression",
+ "start": 0,
+ "end": 12,
+ "id": {
+ "type": "Identifier",
+ "start": 7,
+ "end": 12,
+ "name": "input"
+ }
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/yield-await.js.json b/test/output/yield-await.js.json
new file mode 100644
index 0000000..b26bd67
--- /dev/null
+++ b/test/output/yield-await.js.json
@@ -0,0 +1,65 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 36,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 35,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 4,
+ "end": 16,
+ "expression": {
+ "type": "YieldExpression",
+ "start": 4,
+ "end": 15,
+ "delegate": false,
+ "argument": {
+ "type": "Identifier",
+ "start": 10,
+ "end": 15,
+ "name": "value"
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "start": 19,
+ "end": 33,
+ "expression": {
+ "type": "AwaitExpression",
+ "start": 19,
+ "end": 32,
+ "argument": {
+ "type": "Identifier",
+ "start": 25,
+ "end": 32,
+ "name": "promise"
+ }
+ }
+ }
+ ]
+ },
+ "async": true,
+ "generator": true,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 10,
+ "end": 15,
+ "name": "value"
+ },
+ {
+ "type": "Identifier",
+ "start": 25,
+ "end": 32,
+ "name": "promise"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/yield-block-cell.js.json b/test/output/yield-block-cell.js.json
new file mode 100644
index 0000000..94bcada
--- /dev/null
+++ b/test/output/yield-block-cell.js.json
@@ -0,0 +1,43 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 19,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 18,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 4,
+ "end": 16,
+ "expression": {
+ "type": "YieldExpression",
+ "start": 4,
+ "end": 15,
+ "delegate": false,
+ "argument": {
+ "type": "Identifier",
+ "start": 10,
+ "end": 15,
+ "name": "value"
+ }
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": true,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 10,
+ "end": 15,
+ "name": "value"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/yield-expression-cell.js.json b/test/output/yield-expression-cell.js.json
new file mode 100644
index 0000000..c92cdc4
--- /dev/null
+++ b/test/output/yield-expression-cell.js.json
@@ -0,0 +1,31 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 12,
+ "id": null,
+ "body": {
+ "type": "YieldExpression",
+ "start": 0,
+ "end": 11,
+ "delegate": false,
+ "argument": {
+ "type": "Identifier",
+ "start": 6,
+ "end": 11,
+ "name": "value"
+ }
+ },
+ "async": false,
+ "generator": true,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 6,
+ "end": 11,
+ "name": "value"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/yield-in-function.js.json b/test/output/yield-in-function.js.json
new file mode 100644
index 0000000..fd9ebe0
--- /dev/null
+++ b/test/output/yield-in-function.js.json
@@ -0,0 +1,65 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 47,
+ "id": null,
+ "body": {
+ "type": "BlockStatement",
+ "start": 0,
+ "end": 46,
+ "body": [
+ {
+ "type": "FunctionDeclaration",
+ "start": 4,
+ "end": 44,
+ "id": {
+ "type": "Identifier",
+ "start": 14,
+ "end": 19,
+ "name": "inner"
+ },
+ "expression": false,
+ "generator": true,
+ "async": false,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 22,
+ "end": 44,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 28,
+ "end": 40,
+ "expression": {
+ "type": "YieldExpression",
+ "start": 28,
+ "end": 39,
+ "delegate": false,
+ "argument": {
+ "type": "Identifier",
+ "start": 34,
+ "end": 39,
+ "name": "value"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "async": false,
+ "generator": false,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 34,
+ "end": 39,
+ "name": "value"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/output/yield-star-expression-cell.js.json b/test/output/yield-star-expression-cell.js.json
new file mode 100644
index 0000000..956d520
--- /dev/null
+++ b/test/output/yield-star-expression-cell.js.json
@@ -0,0 +1,31 @@
+{
+ "type": "Cell",
+ "start": 0,
+ "end": 14,
+ "id": null,
+ "body": {
+ "type": "YieldExpression",
+ "start": 0,
+ "end": 13,
+ "delegate": true,
+ "argument": {
+ "type": "Identifier",
+ "start": 7,
+ "end": 13,
+ "name": "values"
+ }
+ },
+ "async": false,
+ "generator": true,
+ "references": [
+ {
+ "type": "Identifier",
+ "start": 7,
+ "end": 13,
+ "name": "values"
+ }
+ ],
+ "fileAttachments": [],
+ "databaseClients": [],
+ "secrets": []
+}
\ No newline at end of file
diff --git a/test/parse-test.js b/test/parse-test.js
index 4c428d2..fd6a644 100644
--- a/test/parse-test.js
+++ b/test/parse-test.js
@@ -1,108 +1,80 @@
-import {simple} from "acorn-walk";
-import {test} from "tap";
-import {readdirSync, readFileSync, writeFileSync} from "fs";
-import {basename, extname, join} from "path";
-import {parseCell, peekId, parseModule} from "../src/index.js";
-import walk from "../src/walk.js";
+import assert from "assert";
+import * as fs from "fs";
+import * as path from "path";
+import {parseCell} from "@observablehq/parser";
-test("peekId", t => {
- t.equal(peekId("a = 1"), "a");
- t.equal(peekId("viewof a = 1"), "a");
- t.equal(peekId("mutable a = 1"), "a");
- t.equal(peekId("mutable async = 1"), "async");
- t.equal(peekId("class A {"), "A");
- t.equal(peekId("class Z"), undefined);
- t.equal(peekId("class Z "), "Z");
- t.equal(peekId("function a"), undefined);
- t.equal(peekId("function a()"), "a");
- t.equal(peekId("async function a()"), "a");
- t.equal(peekId("function* a"), undefined);
- t.equal(peekId("function /* yeah */ a()"), "a");
- t.equal(peekId("function"), undefined);
- t.equal(peekId("1"), undefined);
- t.equal(peekId("#"), undefined, "Ignores syntax errors");
- t.equal(peekId("abc /"), undefined, "Needs a = for a name to be identified");
- t.equal(peekId("({ a: 1 })"), undefined);
- t.equal(
- peekId(`function queryAll(text, values) {
- return fetch("https://api.observable.localh`),
- "queryAll"
- );
- t.end();
-});
+(async () => {
+ for (const file of fs.readdirSync(path.join("test", "input"))) {
+ it(`parse ${file}`, () => {
+ const extension = file.substring(file.indexOf(".")); // path.extname, but taking the first dot
+ const infile = path.join("test", "input", file);
+ const outfile = path.resolve(path.join("test", "output"), `${file}.json`);
-test("parseModule", t => {
- t.matchSnapshot(
- parseModule(`a = 1;
-
-b = 2;
-
-c = a + b`)
- );
- t.end();
-});
+ const input = fs.readFileSync(infile, "utf8");
+ let cell;
+ try {
+ cell = parseCell(input, {
+ globals: null,
+ tag:
+ extension === ".sql"
+ ? "db.sql"
+ : extension === ".db.sql"
+ ? `(await DatabaseClient("database")).sql`
+ : extension === ".html"
+ ? "htl.html"
+ : extension === ".tex"
+ ? "tex.block"
+ : extension === ".md"
+ ? "md"
+ : undefined,
+ raw: extension == ".tex"
+ });
+ } catch (error) {
+ if (
+ error instanceof ReferenceError ||
+ error instanceof SyntaxError ||
+ error instanceof TypeError
+ ) {
+ if (!error.loc) throw error; // internal unexpected error
+ cell = {
+ error: {
+ type: error.constructor.name,
+ message: error.message,
+ pos: error.pos,
+ loc: {
+ line: error.loc.line,
+ column: error.loc.column
+ }
+ }
+ };
+ } else {
+ throw error;
+ }
+ }
-readdirSync(join("test", "input")).forEach(file => {
- const bareExtension = extname(file).replace(".", "");
- test(`parse ${file}`, test => {
- const infile = join("test", "input", file);
- let actual;
+ const actual = JSON.stringify(cell, stringify, 2);
- try {
- actual = parseCell(readFileSync(infile, "utf8"), {
- globals: null,
- tag: bareExtension === "sql"
- ? file.startsWith("sql-cell")
- ? "dbCell.sql"
- : '(await DatabaseClient("database")).sql'
- : bareExtension === "html"
- ? "htl.html"
- : bareExtension === "tex"
- ? "tex.block"
- : bareExtension === "md"
- ? "md"
- : undefined,
- raw: bareExtension == 'tex'
- });
- } catch (error) {
- if (
- error instanceof ReferenceError ||
- error instanceof SyntaxError ||
- error instanceof TypeError
- ) {
- if (!error.loc) throw error; // internal unexpected error
- actual = {
- error: {
- type: error.constructor.name,
- message: error.message,
- pos: error.pos,
- loc: {
- line: error.loc.line,
- column: error.loc.column
- }
- }
- };
- } else {
- throw error;
+ let expected;
+ try {
+ expected = fs.readFileSync(outfile, "utf8");
+ } catch (error) {
+ if (error.code === "ENOENT" && process.env.CI !== "true") {
+ console.warn(`! generating ${outfile}`);
+ fs.writeFileSync(outfile, actual, "utf8");
+ return;
+ } else {
+ throw error;
+ }
}
- }
- // Treat BigInt as Number for test purposes.
- if (actual.body) {
- simple(
- actual.body,
- {
- Literal(node) {
- if (node.bigint) {
- node.value = Number(node.value);
- }
- }
- },
- walk
- );
- }
+ assert.strictEqual(actual, expected, `${file} must match snapshot`);
+ });
+ }
+})();
- test.matchSnapshot(actual);
- test.end();
- });
-});
+// Convert to a serializable representation.
+function stringify(key, value) {
+ return typeof value === "bigint" ? value.toString()
+ : value instanceof Map ? [...value]
+ : value;
+}
diff --git a/test/peek-test.js b/test/peek-test.js
new file mode 100644
index 0000000..39484b7
--- /dev/null
+++ b/test/peek-test.js
@@ -0,0 +1,28 @@
+import assert from "assert";
+import {peekId} from "@observablehq/parser";
+
+it("peekId", () => {
+ assert.strictEqual(peekId("a = 1"), "a");
+ assert.strictEqual(peekId("viewof a = 1"), "a");
+ assert.strictEqual(peekId("mutable a = 1"), "a");
+ assert.strictEqual(peekId("mutable async = 1"), "async");
+ assert.strictEqual(peekId("class A {"), "A");
+ assert.strictEqual(peekId("class Z"), undefined);
+ assert.strictEqual(peekId("class Z "), "Z");
+ assert.strictEqual(peekId("function a"), undefined);
+ assert.strictEqual(peekId("function a()"), "a");
+ assert.strictEqual(peekId("async function a()"), "a");
+ assert.strictEqual(peekId("async function* a()"), "a");
+ assert.strictEqual(peekId("function* a"), undefined);
+ assert.strictEqual(peekId("function /* yeah */ a()"), "a");
+ assert.strictEqual(peekId("function"), undefined);
+ assert.strictEqual(peekId("1"), undefined);
+ assert.strictEqual(peekId("#"), undefined, "Ignores syntax errors");
+ assert.strictEqual(peekId("abc /"), undefined, "Needs a = for a name to be identified");
+ assert.strictEqual(peekId("({ a: 1 })"), undefined);
+ assert.strictEqual(
+ peekId(`function queryAll(text, values) {
+ return fetch("https://api.observable.localh`),
+ "queryAll"
+ );
+});
diff --git a/test/references-test.js b/test/references-test.js
index da24723..f7541fa 100644
--- a/test/references-test.js
+++ b/test/references-test.js
@@ -1,114 +1,106 @@
-import {test} from "tap";
-import {parseCell} from "../src/index.js";
+import assert from "assert";
+import {parseCell} from "@observablehq/parser";
+import {Node} from "acorn";
-test("finds references in expressions", t => {
- t.deepEqual(parseCell(`foo + bar`).references, [
- {type: "Identifier", start: 0, end: 3, name: "foo"},
- {type: "Identifier", start: 6, end: 9, name: "bar"}
+function node(fields) {
+ return Object.assign(Object.create(Node.prototype), fields);
+}
+
+it("finds references in expressions", () => {
+ assert.deepStrictEqual(parseCell(`foo + bar`).references, [
+ node({type: "Identifier", start: 0, end: 3, name: "foo"}),
+ node({type: "Identifier", start: 6, end: 9, name: "bar"})
]);
- t.end();
});
-test("finds references in blocks", t => {
- t.deepEqual(parseCell(`{ foo + bar; }`).references, [
- {type: "Identifier", start: 2, end: 5, name: "foo"},
- {type: "Identifier", start: 8, end: 11, name: "bar"}
+it("finds references in blocks", () => {
+ assert.deepStrictEqual(parseCell(`{ foo + bar; }`).references, [
+ node({type: "Identifier", start: 2, end: 5, name: "foo"}),
+ node({type: "Identifier", start: 8, end: 11, name: "bar"})
]);
- t.end();
});
-test("finds viewof references", t => {
- t.deepEqual(parseCell(`viewof foo + bar`).references, [
- {
+it("finds viewof references", () => {
+ assert.deepStrictEqual(parseCell(`viewof foo + bar`).references, [
+ node({
type: "ViewExpression",
start: 0,
end: 10,
- id: {type: "Identifier", start: 7, end: 10, name: "foo"}
- },
- {type: "Identifier", start: 13, end: 16, name: "bar"}
+ id: node({type: "Identifier", start: 7, end: 10, name: "foo"})
+ }),
+ node({type: "Identifier", start: 13, end: 16, name: "bar"})
]);
- t.end();
});
-test("finds mutable references", t => {
- t.deepEqual(parseCell(`mutable foo + bar`).references, [
- {
+it("finds mutable references", () => {
+ assert.deepStrictEqual(parseCell(`mutable foo + bar`).references, [
+ node({
type: "MutableExpression",
start: 0,
end: 11,
- id: {type: "Identifier", start: 8, end: 11, name: "foo"}
- },
- {type: "Identifier", start: 14, end: 17, name: "bar"}
+ id: node({type: "Identifier", start: 8, end: 11, name: "foo"})
+ }),
+ node({type: "Identifier", start: 14, end: 17, name: "bar"})
]);
- t.end();
});
-test("finds multiple references", t => {
- t.deepEqual(parseCell(`cell = {
+it("finds multiple references", () => {
+ assert.deepStrictEqual(parseCell(`cell = {
const a = b + c;
const d = c - b;
}`).references, [
- {type: "Identifier", start: 21, end: 22, name: "b"},
- {type: "Identifier", start: 25, end: 26, name: "c"},
- {type: "Identifier", start: 40, end: 41, name: "c"},
- {type: "Identifier", start: 44, end: 45, name: "b"}
+ node({type: "Identifier", start: 21, end: 22, name: "b"}),
+ node({type: "Identifier", start: 25, end: 26, name: "c"}),
+ node({type: "Identifier", start: 40, end: 41, name: "c"}),
+ node({type: "Identifier", start: 44, end: 45, name: "b"})
]);
- t.end();
});
-test("doesn’t consider the identifier a reference", t => {
- t.deepEqual(parseCell(`foo = bar`).references, [
- {type: "Identifier", start: 6, end: 9, name: "bar"}
+it("doesn’t consider the identifier a reference", () => {
+ assert.deepStrictEqual(parseCell(`foo = bar`).references, [
+ node({type: "Identifier", start: 6, end: 9, name: "bar"})
]);
- t.end();
});
-test("local variables can mask references", t => {
- t.deepEqual(parseCell(`{ let foo; foo + bar; }`).references, [
- {type: "Identifier", start: 17, end: 20, name: "bar"}
+it("local variables can mask references", () => {
+ assert.deepStrictEqual(parseCell(`{ let foo; foo + bar; }`).references, [
+ node({type: "Identifier", start: 17, end: 20, name: "bar"})
]);
- t.end();
});
-test("local variables can not mask references", t => {
- t.deepEqual(parseCell(`{ foo + bar; { let foo; } }`).references, [
- {type: "Identifier", start: 2, end: 5, name: "foo"},
- {type: "Identifier", start: 8, end: 11, name: "bar"}
+it("local variables can not mask references", () => {
+ assert.deepStrictEqual(parseCell(`{ foo + bar; { let foo; } }`).references, [
+ node({type: "Identifier", start: 2, end: 5, name: "foo"}),
+ node({type: "Identifier", start: 8, end: 11, name: "bar"})
]);
- t.end();
});
-test("function parameters can mask references", t => {
- t.deepEqual(parseCell(`foo => foo + bar`).references, [
- {type: "Identifier", start: 13, end: 16, name: "bar"}
+it("function parameters can mask references", () => {
+ assert.deepStrictEqual(parseCell(`foo => foo + bar`).references, [
+ node({type: "Identifier", start: 13, end: 16, name: "bar"})
]);
- t.end();
});
-test("function rest parameters can mask references", t => {
- t.deepEqual(parseCell(`(...foo) => foo + bar`).references, [
- {type: "Identifier", start: 18, end: 21, name: "bar"}
+it("function rest parameters can mask references", () => {
+ assert.deepStrictEqual(parseCell(`(...foo) => foo + bar`).references, [
+ node({type: "Identifier", start: 18, end: 21, name: "bar"})
]);
- t.end();
});
-test("destructured variables can mask references", t => {
- t.deepEqual(parseCell(`{ let {foo} = null; foo + bar; }`).references, [
- {type: "Identifier", start: 26, end: 29, name: "bar"}
+it("destructured variables can mask references", () => {
+ assert.deepStrictEqual(parseCell(`{ let {foo} = null; foo + bar; }`).references, [
+ node({type: "Identifier", start: 26, end: 29, name: "bar"})
]);
- t.end();
});
-test("destructured rest variables can mask references", t => {
- t.deepEqual(parseCell(`{ let {...foo} = null; foo + bar; }`).references, [
- {type: "Identifier", start: 29, end: 32, name: "bar"}
+it("destructured rest variables can mask references", () => {
+ assert.deepStrictEqual(parseCell(`{ let {...foo} = null; foo + bar; }`).references, [
+ node({type: "Identifier", start: 29, end: 32, name: "bar"})
]);
- t.end();
});
-test("ignores globals", t => {
- t.deepEqual(parseCell(`foo + bar`, {globals: ["foo"]}).references, [
- {type: "Identifier", start: 6, end: 9, name: "bar"}
+it("ignores globals", () => {
+ assert.deepStrictEqual(parseCell(`foo + bar`, {globals: ["foo"]}).references, [
+ node({type: "Identifier", start: 6, end: 9, name: "bar"})
]);
- t.end();
});
diff --git a/yarn.lock b/yarn.lock
index 848809d..e2a62b6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,360 +2,102 @@
# yarn lockfile v1
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
- integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
+"@babel/code-frame@^7.10.4":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431"
+ integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==
dependencies:
- "@babel/highlight" "^7.10.4"
+ "@babel/highlight" "^7.16.0"
-"@babel/core@^7.5.5":
- version "7.11.4"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.4.tgz#4301dfdfafa01eeb97f1896c5501a3f0655d4229"
- integrity sha512-5deljj5HlqRXN+5oJTY7Zs37iH3z3b++KjiKtIsJy1NrjOOVSEaJHEetLBhyu0aQOSNNZ/0IuEAan9GzRuDXHg==
+"@babel/helper-validator-identifier@^7.15.7":
+ version "7.15.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389"
+ integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==
+
+"@babel/highlight@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a"
+ integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==
dependencies:
- "@babel/code-frame" "^7.10.4"
- "@babel/generator" "^7.11.4"
- "@babel/helper-module-transforms" "^7.11.0"
- "@babel/helpers" "^7.10.4"
- "@babel/parser" "^7.11.4"
- "@babel/template" "^7.10.4"
- "@babel/traverse" "^7.11.0"
- "@babel/types" "^7.11.0"
- convert-source-map "^1.7.0"
- debug "^4.1.0"
- gensync "^1.0.0-beta.1"
- json5 "^2.1.2"
- lodash "^4.17.19"
- resolve "^1.3.2"
- semver "^5.4.1"
- source-map "^0.5.0"
-
-"@babel/generator@^7.11.0", "@babel/generator@^7.11.4", "@babel/generator@^7.4.0":
- version "7.11.4"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.4.tgz#1ec7eec00defba5d6f83e50e3ee72ae2fee482be"
- integrity sha512-Rn26vueFx0eOoz7iifCN2UHT6rGtnkSGWSoDRIy8jZN3B91PzeSULbswfLoOWuTuAcNwpG/mxy+uCTDnZ9Mp1g==
- dependencies:
- "@babel/types" "^7.11.0"
- jsesc "^2.5.1"
- source-map "^0.5.0"
-
-"@babel/helper-annotate-as-pure@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3"
- integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==
- dependencies:
- "@babel/types" "^7.10.4"
-
-"@babel/helper-builder-react-jsx-experimental@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.10.5.tgz#f35e956a19955ff08c1258e44a515a6d6248646b"
- integrity sha512-Buewnx6M4ttG+NLkKyt7baQn7ScC/Td+e99G914fRU8fGIUivDDgVIQeDHFa5e4CRSJQt58WpNHhsAZgtzVhsg==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
- "@babel/helper-module-imports" "^7.10.4"
- "@babel/types" "^7.10.5"
-
-"@babel/helper-builder-react-jsx@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz#8095cddbff858e6fa9c326daee54a2f2732c1d5d"
- integrity sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
- "@babel/types" "^7.10.4"
-
-"@babel/helper-function-name@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a"
- integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==
- dependencies:
- "@babel/helper-get-function-arity" "^7.10.4"
- "@babel/template" "^7.10.4"
- "@babel/types" "^7.10.4"
-
-"@babel/helper-get-function-arity@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2"
- integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==
- dependencies:
- "@babel/types" "^7.10.4"
-
-"@babel/helper-member-expression-to-functions@^7.10.4":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df"
- integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==
- dependencies:
- "@babel/types" "^7.11.0"
-
-"@babel/helper-module-imports@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620"
- integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==
- dependencies:
- "@babel/types" "^7.10.4"
-
-"@babel/helper-module-transforms@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359"
- integrity sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==
- dependencies:
- "@babel/helper-module-imports" "^7.10.4"
- "@babel/helper-replace-supers" "^7.10.4"
- "@babel/helper-simple-access" "^7.10.4"
- "@babel/helper-split-export-declaration" "^7.11.0"
- "@babel/template" "^7.10.4"
- "@babel/types" "^7.11.0"
- lodash "^4.17.19"
-
-"@babel/helper-optimise-call-expression@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673"
- integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==
- dependencies:
- "@babel/types" "^7.10.4"
-
-"@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375"
- integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==
-
-"@babel/helper-replace-supers@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf"
- integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==
- dependencies:
- "@babel/helper-member-expression-to-functions" "^7.10.4"
- "@babel/helper-optimise-call-expression" "^7.10.4"
- "@babel/traverse" "^7.10.4"
- "@babel/types" "^7.10.4"
-
-"@babel/helper-simple-access@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461"
- integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==
- dependencies:
- "@babel/template" "^7.10.4"
- "@babel/types" "^7.10.4"
-
-"@babel/helper-split-export-declaration@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f"
- integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==
- dependencies:
- "@babel/types" "^7.11.0"
-
-"@babel/helper-validator-identifier@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
- integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
-
-"@babel/helpers@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044"
- integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==
- dependencies:
- "@babel/template" "^7.10.4"
- "@babel/traverse" "^7.10.4"
- "@babel/types" "^7.10.4"
-
-"@babel/highlight@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
- integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
- dependencies:
- "@babel/helper-validator-identifier" "^7.10.4"
+ "@babel/helper-validator-identifier" "^7.15.7"
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.4", "@babel/parser@^7.4.3":
- version "7.11.4"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.4.tgz#6fa1a118b8b0d80d0267b719213dc947e88cc0ca"
- integrity sha512-MggwidiH+E9j5Sh8pbrX5sJvMcsqS5o+7iB42M9/k0CD63MjYbdP4nhSh7uB5wnv2/RVzTZFTxzF/kIa5mrCqA==
-
-"@babel/plugin-proposal-object-rest-spread@^7.5.5":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz#bd81f95a1f746760ea43b6c2d3d62b11790ad0af"
- integrity sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
- "@babel/plugin-transform-parameters" "^7.10.4"
-
-"@babel/plugin-syntax-jsx@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz#39abaae3cbf710c4373d8429484e6ba21340166c"
- integrity sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-object-rest-spread@^7.8.0":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
- integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-transform-destructuring@^7.5.0":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz#70ddd2b3d1bea83d01509e9bb25ddb3a74fc85e5"
- integrity sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-parameters@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz#59d339d58d0b1950435f4043e74e2510005e2c4a"
- integrity sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==
- dependencies:
- "@babel/helper-get-function-arity" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-react-jsx@^7.3.0":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.4.tgz#673c9f913948764a4421683b2bef2936968fddf2"
- integrity sha512-L+MfRhWjX0eI7Js093MM6MacKU4M6dnCRa/QPDwYMxjljzSCzzlzKzj9Pk4P3OtrPcxr2N3znR419nr3Xw+65A==
+"@eslint/eslintrc@^1.0.5":
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318"
+ integrity sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==
dependencies:
- "@babel/helper-builder-react-jsx" "^7.10.4"
- "@babel/helper-builder-react-jsx-experimental" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-jsx" "^7.10.4"
+ ajv "^6.12.4"
+ debug "^4.3.2"
+ espree "^9.2.0"
+ globals "^13.9.0"
+ ignore "^4.0.6"
+ import-fresh "^3.2.1"
+ js-yaml "^4.1.0"
+ minimatch "^3.0.4"
+ strip-json-comments "^3.1.1"
-"@babel/template@^7.10.4", "@babel/template@^7.4.0":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278"
- integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==
+"@humanwhocodes/config-array@^0.9.2":
+ version "0.9.2"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.2.tgz#68be55c737023009dfc5fe245d51181bb6476914"
+ integrity sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==
dependencies:
- "@babel/code-frame" "^7.10.4"
- "@babel/parser" "^7.10.4"
- "@babel/types" "^7.10.4"
+ "@humanwhocodes/object-schema" "^1.2.1"
+ debug "^4.1.1"
+ minimatch "^3.0.4"
-"@babel/traverse@^7.10.4", "@babel/traverse@^7.11.0", "@babel/traverse@^7.4.3":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.0.tgz#9b996ce1b98f53f7c3e4175115605d56ed07dd24"
- integrity sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg==
- dependencies:
- "@babel/code-frame" "^7.10.4"
- "@babel/generator" "^7.11.0"
- "@babel/helper-function-name" "^7.10.4"
- "@babel/helper-split-export-declaration" "^7.11.0"
- "@babel/parser" "^7.11.0"
- "@babel/types" "^7.11.0"
- debug "^4.1.0"
- globals "^11.1.0"
- lodash "^4.17.19"
-
-"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.4.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.0.tgz#2ae6bf1ba9ae8c3c43824e5861269871b206e90d"
- integrity sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA==
- dependencies:
- "@babel/helper-validator-identifier" "^7.10.4"
- lodash "^4.17.19"
- to-fast-properties "^2.0.0"
-
-"@types/color-name@^1.1.1":
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
- integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
-
-"@types/estree@*":
- version "0.0.45"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884"
- integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==
+"@humanwhocodes/object-schema@^1.2.1":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
+ integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
"@types/node@*":
- version "14.6.2"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.2.tgz#264b44c5a28dfa80198fc2f7b6d3c8a054b9491f"
- integrity sha512-onlIwbaeqvZyniGPfdw/TEhKIh79pz66L1q06WUQqJLnAb6wbjvOtepLYTGHTqzdXgBYIE3ZdmqHDGsRsbBz7A==
-
-"@types/normalize-package-data@^2.4.0":
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
- integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==
-
-"@types/prop-types@*":
- version "15.7.3"
- resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7"
- integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
+ version "17.0.4"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.4.tgz#fec0ce0526abb6062fd206d72a642811b887a111"
+ integrity sha512-6xwbrW4JJiJLgF+zNypN5wr2ykM9/jHcL7rQ8fZe2vuftggjzZeRSM4OwRc6Xk8qWjwJ99qVHo/JgOGmomWRog==
-"@types/react@^16.9.16":
- version "16.9.49"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.49.tgz#09db021cf8089aba0cdb12a49f8021a69cce4872"
- integrity sha512-DtLFjSj0OYAdVLBbyjhuV9CdGVHCkHn2R+xr3XkBvK2rS1Y1tkc14XSGjYgm5Fjjr90AxH9tiSzc1pCFMGO06g==
- dependencies:
- "@types/prop-types" "*"
- csstype "^3.0.2"
-
-"@types/resolve@0.0.8":
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194"
- integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==
- dependencies:
- "@types/node" "*"
-
-"@types/yoga-layout@1.9.2":
- version "1.9.2"
- resolved "https://registry.yarnpkg.com/@types/yoga-layout/-/yoga-layout-1.9.2.tgz#efaf9e991a7390dc081a0b679185979a83a9639a"
- integrity sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==
+"@ungap/promise-all-settled@1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44"
+ integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==
-acorn-jsx@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
- integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==
+acorn-jsx@^5.3.1:
+ version "5.3.2"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
+ integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
-acorn-walk@^7.0.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
- integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
+acorn-walk@8:
+ version "8.2.0"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
+ integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
-acorn@^7.1.1:
- version "7.4.0"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c"
- integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==
+acorn@8, acorn@^8.6.0:
+ version "8.6.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895"
+ integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==
-ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3:
- version "6.12.4"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234"
- integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==
+ajv@^6.10.0, ajv@^6.12.4:
+ version "6.12.6"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
dependencies:
fast-deep-equal "^3.1.1"
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
-ansi-escapes@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
- integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
-
-ansi-escapes@^4.2.1:
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
- integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==
- dependencies:
- type-fest "^0.11.0"
-
-ansi-regex@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
- integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
-
-ansi-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
- integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
-
-ansi-regex@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
- integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
+ansi-colors@4.1.1, ansi-colors@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
+ integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
-ansi-regex@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
- integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
+ansi-regex@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+ integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
-ansi-styles@^3.2.0, ansi-styles@^3.2.1:
+ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
@@ -363,125 +105,34 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1:
color-convert "^1.9.0"
ansi-styles@^4.0.0, ansi-styles@^4.1.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
- integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
dependencies:
- "@types/color-name" "^1.1.1"
color-convert "^2.0.1"
-ansicolors@~0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979"
- integrity sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=
-
-anymatch@~3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
- integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
+anymatch@~3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
+ integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
dependencies:
normalize-path "^3.0.0"
picomatch "^2.0.4"
-append-transform@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab"
- integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==
- dependencies:
- default-require-extensions "^2.0.0"
-
-archy@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"
- integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=
-
-arg@^4.1.0:
- version "4.1.3"
- resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
- integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
-
-argparse@^1.0.7:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
- integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
- dependencies:
- sprintf-js "~1.0.2"
-
-arrify@^2.0.1:
+argparse@^2.0.1:
version "2.0.1"
- resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa"
- integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
-
-asn1@~0.2.3:
- version "0.2.4"
- resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
- integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
- dependencies:
- safer-buffer "~2.1.0"
-
-assert-plus@1.0.0, assert-plus@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
- integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
-
-astral-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
- integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
-
-astral-regex@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
- integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
-
-async-hook-domain@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/async-hook-domain/-/async-hook-domain-1.1.3.tgz#f4f531b8ee8206b1ea1825fe3825e015c66f44d0"
- integrity sha512-ZovMxSbADV3+biB7oR1GL5lGyptI24alp0LWHlmz1OFc5oL47pz3EiIF6nXOkDW7yLqih4NtsiYduzdDW0i+Wg==
- dependencies:
- source-map-support "^0.5.11"
-
-asynckit@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
- integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
-
-auto-bind@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-4.0.0.tgz#e3589fc6c2da8f7ca43ba9f84fa52a744fc997fb"
- integrity sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==
-
-aws-sign2@~0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
- integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
-
-aws4@^1.8.0:
- version "1.10.1"
- resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428"
- integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
+ integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
balanced-match@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
- integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
-
-bcrypt-pbkdf@^1.0.0:
version "1.0.2"
- resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
- integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
- dependencies:
- tweetnacl "^0.14.3"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
binary-extensions@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9"
- integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==
-
-bind-obj-methods@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/bind-obj-methods/-/bind-obj-methods-2.0.0.tgz#0178140dbe7b7bb67dc74892ace59bc0247f06f0"
- integrity sha512-3/qRXczDi2Cdbz6jE+W3IflJOutRVica8frpBn14de1mBOkzDo+6tY33kNhvkw54Kn3PzRRD2VnGbGPcTAk4sw==
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
+ integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
brace-expansion@^1.1.7:
version "1.1.11"
@@ -498,74 +149,27 @@ braces@~3.0.2:
dependencies:
fill-range "^7.0.1"
-browser-process-hrtime@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
- integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
+browser-stdout@1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60"
+ integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==
buffer-from@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
- integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
-
-builtin-modules@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484"
- integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==
-
-caching-transform@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-3.0.2.tgz#601d46b91eca87687a281e71cef99791b0efca70"
- integrity sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==
- dependencies:
- hasha "^3.0.0"
- make-dir "^2.0.0"
- package-hash "^3.0.0"
- write-file-atomic "^2.4.2"
-
-caller-callsite@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
- integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=
- dependencies:
- callsites "^2.0.0"
-
-caller-path@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
- integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=
- dependencies:
- caller-callsite "^2.0.0"
-
-callsites@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
- integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
+ integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-camelcase@^5.0.0:
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
- integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-
-cardinal@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505"
- integrity sha1-fMEFXYItISlU0HsIXeolHMe8VQU=
- dependencies:
- ansicolors "~0.3.2"
- redeyed "~2.1.0"
-
-caseless@~0.12.0:
- version "0.12.0"
- resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
- integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
+camelcase@^6.0.0:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e"
+ integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==
-chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.2:
+chalk@^2.0.0:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -574,96 +178,37 @@ chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.2:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
-chalk@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
- integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-chalk@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
- integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
+chalk@^4.0.0, chalk@^4.1.0:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+ integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
dependencies:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chardet@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
- integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
-
-chokidar@^3.3.0:
- version "3.4.2"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d"
- integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==
+chokidar@3.5.2:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75"
+ integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
dependencies:
- anymatch "~3.1.1"
+ anymatch "~3.1.2"
braces "~3.0.2"
- glob-parent "~5.1.0"
+ glob-parent "~5.1.2"
is-binary-path "~2.1.0"
is-glob "~4.0.1"
normalize-path "~3.0.0"
- readdirp "~3.4.0"
+ readdirp "~3.6.0"
optionalDependencies:
- fsevents "~2.1.2"
-
-ci-info@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
- integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
-
-cli-cursor@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
- integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
- dependencies:
- restore-cursor "^2.0.0"
-
-cli-cursor@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
- integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
- dependencies:
- restore-cursor "^3.1.0"
+ fsevents "~2.3.2"
-cli-truncate@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
- integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
+cliui@^7.0.2:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
+ integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
dependencies:
- slice-ansi "^3.0.0"
string-width "^4.2.0"
-
-cli-width@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
- integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
-
-cliui@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
- integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==
- dependencies:
- string-width "^2.1.1"
- strip-ansi "^4.0.0"
- wrap-ansi "^2.0.0"
-
-cliui@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
- integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
- dependencies:
- string-width "^3.1.0"
- strip-ansi "^5.2.0"
- wrap-ansi "^5.1.0"
-
-code-point-at@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
- integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
+ strip-ansi "^6.0.0"
+ wrap-ansi "^7.0.0"
color-convert@^1.9.0:
version "1.9.3"
@@ -689,146 +234,53 @@ color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-color-support@^1.1.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
- integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
-
-combined-stream@^1.0.6, combined-stream@~1.0.6:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
- integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
- dependencies:
- delayed-stream "~1.0.0"
-
commander@^2.20.0:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
-commondir@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
- integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
-
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-convert-source-map@^1.6.0, convert-source-map@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
- integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
- dependencies:
- safe-buffer "~5.1.1"
-
-core-util-is@1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
- integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
-
-cosmiconfig@^5.2.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
- integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
+cross-spawn@^7.0.2:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+ integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
dependencies:
- import-fresh "^2.0.0"
- is-directory "^0.3.1"
- js-yaml "^3.13.1"
- parse-json "^4.0.0"
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
-coveralls@^3.0.11:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.1.0.tgz#13c754d5e7a2dd8b44fe5269e21ca394fb4d615b"
- integrity sha512-sHxOu2ELzW8/NC1UP5XVLbZDzO4S3VxfFye3XYCznopHy02YjNkHcj5bKaVw2O7hVaBdBjEdQGpie4II1mWhuQ==
- dependencies:
- js-yaml "^3.13.1"
- lcov-parse "^1.0.0"
- log-driver "^1.2.7"
- minimist "^1.2.5"
- request "^2.88.2"
-
-cp-file@^6.2.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-6.2.0.tgz#40d5ea4a1def2a9acdd07ba5c0b0246ef73dc10d"
- integrity sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==
- dependencies:
- graceful-fs "^4.1.2"
- make-dir "^2.0.0"
- nested-error-stacks "^2.0.0"
- pify "^4.0.1"
- safe-buffer "^5.0.1"
-
-cross-spawn@^4:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41"
- integrity sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=
- dependencies:
- lru-cache "^4.0.1"
- which "^1.2.9"
-
-cross-spawn@^6.0.0, cross-spawn@^6.0.5:
- version "6.0.5"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
- integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
- dependencies:
- nice-try "^1.0.4"
- path-key "^2.0.1"
- semver "^5.5.0"
- shebang-command "^1.2.0"
- which "^1.2.9"
-
-csstype@^3.0.2:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.3.tgz#2b410bbeba38ba9633353aff34b05d9755d065f8"
- integrity sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag==
-
-dashdash@^1.12.0:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
- integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
- dependencies:
- assert-plus "^1.0.0"
-
-debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
- integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
+debug@4.3.2:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
+ integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
dependencies:
- ms "^2.1.1"
-
-decamelize@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
- integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
-
-deep-is@~0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
- integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
+ ms "2.1.2"
-default-require-extensions@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7"
- integrity sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=
+debug@^4.1.1, debug@^4.3.2:
+ version "4.3.3"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
+ integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
dependencies:
- strip-bom "^3.0.0"
+ ms "2.1.2"
-delayed-stream@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
- integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+decamelize@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837"
+ integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==
-diff-frag@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/diff-frag/-/diff-frag-1.0.1.tgz#a7bb51789743e8c0b40e2509166bd155e5833826"
- integrity sha512-6/v2PC/6UTGcWPPetb9acL8foberUg/CtPdALeJUdD1B/weHNvzftoo00gYznqHGRhHEbykUGzqfG9RWOSr5yw==
+deep-is@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
+ integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
-diff@^4.0.1:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
- integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
+diff@5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b"
+ integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==
doctrine@^3.0.0:
version "3.0.0"
@@ -837,212 +289,136 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"
-ecc-jsbn@~0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
- integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
- dependencies:
- jsbn "~0.1.0"
- safer-buffer "^2.1.0"
-
-emoji-regex@^7.0.1:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
- integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
-
emoji-regex@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-end-of-stream@^1.1.0:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
- integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
+enquirer@^2.3.5:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
+ integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
dependencies:
- once "^1.4.0"
+ ansi-colors "^4.1.1"
-error-ex@^1.3.1:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
- integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
- dependencies:
- is-arrayish "^0.2.1"
+escalade@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
+ integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
-es6-error@^4.0.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d"
- integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==
+escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
-escape-string-regexp@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
- integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
-
-eslint-scope@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5"
- integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==
+eslint-scope@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.0.tgz#c1f6ea30ac583031f203d65c73e723b01298f153"
+ integrity sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==
dependencies:
- esrecurse "^4.1.0"
- estraverse "^4.1.1"
+ esrecurse "^4.3.0"
+ estraverse "^5.2.0"
-eslint-utils@^1.4.3:
- version "1.4.3"
- resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f"
- integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==
+eslint-utils@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
+ integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
dependencies:
- eslint-visitor-keys "^1.1.0"
+ eslint-visitor-keys "^2.0.0"
-eslint-visitor-keys@^1.1.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
- integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
+eslint-visitor-keys@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
+ integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
+
+eslint-visitor-keys@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz#eee4acea891814cda67a7d8812d9647dd0179af2"
+ integrity sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==
-eslint@^6.7.2:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb"
- integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==
+eslint@8:
+ version "8.5.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.5.0.tgz#ddd2c1afd8f412036f87ae2a063d2aa296d3175f"
+ integrity sha512-tVGSkgNbOfiHyVte8bCM8OmX+xG9PzVG/B4UCF60zx7j61WIVY/AqJECDgpLD4DbbESD0e174gOg3ZlrX15GDg==
dependencies:
- "@babel/code-frame" "^7.0.0"
+ "@eslint/eslintrc" "^1.0.5"
+ "@humanwhocodes/config-array" "^0.9.2"
ajv "^6.10.0"
- chalk "^2.1.0"
- cross-spawn "^6.0.5"
- debug "^4.0.1"
+ chalk "^4.0.0"
+ cross-spawn "^7.0.2"
+ debug "^4.3.2"
doctrine "^3.0.0"
- eslint-scope "^5.0.0"
- eslint-utils "^1.4.3"
- eslint-visitor-keys "^1.1.0"
- espree "^6.1.2"
- esquery "^1.0.1"
+ enquirer "^2.3.5"
+ escape-string-regexp "^4.0.0"
+ eslint-scope "^7.1.0"
+ eslint-utils "^3.0.0"
+ eslint-visitor-keys "^3.1.0"
+ espree "^9.2.0"
+ esquery "^1.4.0"
esutils "^2.0.2"
- file-entry-cache "^5.0.1"
+ fast-deep-equal "^3.1.3"
+ file-entry-cache "^6.0.1"
functional-red-black-tree "^1.0.1"
- glob-parent "^5.0.0"
- globals "^12.1.0"
+ glob-parent "^6.0.1"
+ globals "^13.6.0"
ignore "^4.0.6"
import-fresh "^3.0.0"
imurmurhash "^0.1.4"
- inquirer "^7.0.0"
is-glob "^4.0.0"
- js-yaml "^3.13.1"
+ js-yaml "^4.1.0"
json-stable-stringify-without-jsonify "^1.0.1"
- levn "^0.3.0"
- lodash "^4.17.14"
+ levn "^0.4.1"
+ lodash.merge "^4.6.2"
minimatch "^3.0.4"
- mkdirp "^0.5.1"
natural-compare "^1.4.0"
- optionator "^0.8.3"
+ optionator "^0.9.1"
progress "^2.0.0"
- regexpp "^2.0.1"
- semver "^6.1.2"
- strip-ansi "^5.2.0"
- strip-json-comments "^3.0.1"
- table "^5.2.3"
+ regexpp "^3.2.0"
+ semver "^7.2.1"
+ strip-ansi "^6.0.1"
+ strip-json-comments "^3.1.0"
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
-esm@^3.0.84, esm@^3.2.25:
- version "3.2.25"
- resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10"
- integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==
-
-espree@^6.1.2:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a"
- integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==
+espree@^9.2.0:
+ version "9.2.0"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-9.2.0.tgz#c50814e01611c2d0f8bd4daa83c369eabba80dbc"
+ integrity sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==
dependencies:
- acorn "^7.1.1"
- acorn-jsx "^5.2.0"
- eslint-visitor-keys "^1.1.0"
-
-esprima@^4.0.0, esprima@~4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
- integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+ acorn "^8.6.0"
+ acorn-jsx "^5.3.1"
+ eslint-visitor-keys "^3.1.0"
-esquery@^1.0.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57"
- integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==
+esquery@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
+ integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
dependencies:
estraverse "^5.1.0"
-esrecurse@^4.1.0:
+esrecurse@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
dependencies:
estraverse "^5.2.0"
-estraverse@^4.1.1:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
- integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
-
estraverse@^5.1.0, estraverse@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
- integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
-
-estree-walker@^0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362"
- integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
+ integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
esutils@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-events-to-array@^1.0.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/events-to-array/-/events-to-array-1.1.2.tgz#2d41f563e1fe400ed4962fe1a4d5c6a7539df7f6"
- integrity sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=
-
-execa@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
- integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
- dependencies:
- cross-spawn "^6.0.0"
- get-stream "^4.0.0"
- is-stream "^1.1.0"
- npm-run-path "^2.0.0"
- p-finally "^1.0.0"
- signal-exit "^3.0.0"
- strip-eof "^1.0.0"
-
-extend@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
- integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-
-external-editor@^3.0.3:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
- integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
- dependencies:
- chardet "^0.7.0"
- iconv-lite "^0.4.24"
- tmp "^0.0.33"
-
-extsprintf@1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
- integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
-
-extsprintf@^1.2.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
- integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
-
-fast-deep-equal@^3.1.1:
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
@@ -1052,24 +428,17 @@ fast-json-stable-stringify@^2.0.0:
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
-fast-levenshtein@~2.0.6:
+fast-levenshtein@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
-figures@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
- integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
- dependencies:
- escape-string-regexp "^1.0.5"
-
-file-entry-cache@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
- integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==
+file-entry-cache@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
+ integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
dependencies:
- flat-cache "^2.0.1"
+ flat-cache "^3.0.4"
fill-range@^7.0.1:
version "7.0.1"
@@ -1078,150 +447,70 @@ fill-range@^7.0.1:
dependencies:
to-regex-range "^5.0.1"
-find-cache-dir@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
- integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
- dependencies:
- commondir "^1.0.1"
- make-dir "^2.0.0"
- pkg-dir "^3.0.0"
-
-find-up@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
- integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
- dependencies:
- locate-path "^3.0.0"
-
-find-up@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
- integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+find-up@5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+ integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
dependencies:
- locate-path "^5.0.0"
+ locate-path "^6.0.0"
path-exists "^4.0.0"
-findit@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/findit/-/findit-2.0.0.tgz#6509f0126af4c178551cfa99394e032e13a4d56e"
- integrity sha1-ZQnwEmr0wXhVHPqZOU4DLhOk1W4=
-
-flat-cache@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
- integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==
- dependencies:
- flatted "^2.0.0"
- rimraf "2.6.3"
- write "1.0.3"
-
-flatted@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
- integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
-
-flow-parser@^0.132.0:
- version "0.132.0"
- resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.132.0.tgz#68c9aea4cfd84577337559a6f121ef3ab687a251"
- integrity sha512-y1P37zDCPSdphlk+w+roCqcOar6iQdNaAJldJ6xx5/2r4ZRv4KHO+qL+AXwPWp+34eN+oPxPjWnU7GybJnyISQ==
-
-flow-remove-types@^2.112.0:
- version "2.132.0"
- resolved "https://registry.yarnpkg.com/flow-remove-types/-/flow-remove-types-2.132.0.tgz#7adc416336f96eb00a8603df4aef919e8b648e28"
- integrity sha512-J1EfutfdC68xEZ8i44Hdlaa3MnONuQQB4/+wtnw/ontdcwuz/yGAVQ/O35dFIqNaQoCUWNDN1mHHagbRYLfihQ==
- dependencies:
- flow-parser "^0.132.0"
- pirates "^3.0.2"
- vlq "^0.2.1"
-
-foreground-child@^1.3.3, foreground-child@^1.5.6:
- version "1.5.6"
- resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9"
- integrity sha1-T9ca0t/elnibmApcCilZN8svXOk=
+flat-cache@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
+ integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
dependencies:
- cross-spawn "^4"
- signal-exit "^3.0.0"
+ flatted "^3.1.0"
+ rimraf "^3.0.2"
-forever-agent@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
- integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
-
-form-data@~2.3.2:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
- integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
- dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.6"
- mime-types "^2.1.12"
+flat@^5.0.2:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241"
+ integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
-fs-exists-cached@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz#cf25554ca050dc49ae6656b41de42258989dcbce"
- integrity sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=
+flatted@^3.1.0:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2"
+ integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
-fsevents@~2.1.2:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
- integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
-
-function-loop@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/function-loop/-/function-loop-1.0.2.tgz#16b93dd757845eacfeca1a8061a6a65c106e0cb2"
- integrity sha512-Iw4MzMfS3udk/rqxTiDDCllhGwlOrsr50zViTOO/W6lS/9y6B1J0BD2VZzrnWUYBJsl3aeqjgR5v7bWWhZSYbA==
+fsevents@~2.3.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
+ integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
functional-red-black-tree@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
-gensync@^1.0.0-beta.1:
- version "1.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
- integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
-
-get-caller-file@^2.0.1:
+get-caller-file@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-get-stdin@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6"
- integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==
-
-get-stream@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
- integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
- dependencies:
- pump "^3.0.0"
-
-getpass@^0.1.1:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
- integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
+glob-parent@^6.0.1:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
+ integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
dependencies:
- assert-plus "^1.0.0"
+ is-glob "^4.0.3"
-glob-parent@^5.0.0, glob-parent@~5.1.0:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
- integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
+glob-parent@~5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
dependencies:
is-glob "^4.0.1"
-glob@^7.0.5, glob@^7.1.3, glob@^7.1.6:
- version "7.1.6"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
- integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+glob@7.1.7:
+ version "7.1.7"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
+ integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -1230,35 +519,29 @@ glob@^7.0.5, glob@^7.1.3, glob@^7.1.6:
once "^1.3.0"
path-is-absolute "^1.0.0"
-globals@^11.1.0:
- version "11.12.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
- integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-
-globals@^12.1.0:
- version "12.4.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
- integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
+glob@^7.1.3:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
+ integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
dependencies:
- type-fest "^0.8.1"
-
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2:
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
- integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
-
-har-schema@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
- integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
-har-validator@~5.1.3:
- version "5.1.5"
- resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
- integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
+globals@^13.6.0, globals@^13.9.0:
+ version "13.12.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e"
+ integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==
dependencies:
- ajv "^6.12.3"
- har-schema "^2.0.0"
+ type-fest "^0.20.2"
+
+growl@1.10.5:
+ version "1.10.5"
+ resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
+ integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==
has-flag@^3.0.0:
version "3.0.0"
@@ -1270,89 +553,24 @@ has-flag@^4.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-hasha@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/hasha/-/hasha-3.0.0.tgz#52a32fab8569d41ca69a61ff1a214f8eb7c8bd39"
- integrity sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=
- dependencies:
- is-stream "^1.0.1"
-
-hosted-git-info@^2.1.4:
- version "2.8.8"
- resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
- integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
-
-html-escaper@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
- integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
-
-http-signature@~1.2.0:
+he@1.2.0:
version "1.2.0"
- resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
- integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
- dependencies:
- assert-plus "^1.0.0"
- jsprim "^1.2.2"
- sshpk "^1.7.0"
-
-husky@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/husky/-/husky-3.1.0.tgz#5faad520ab860582ed94f0c1a77f0f04c90b57c0"
- integrity sha512-FJkPoHHB+6s4a+jwPqBudBDvYZsoQW5/HBuMSehC8qDiCe50kpcxeqFoDSlow+9I6wg47YxBoT3WxaURlrDIIQ==
- dependencies:
- chalk "^2.4.2"
- ci-info "^2.0.0"
- cosmiconfig "^5.2.1"
- execa "^1.0.0"
- get-stdin "^7.0.0"
- opencollective-postinstall "^2.0.2"
- pkg-dir "^4.2.0"
- please-upgrade-node "^3.2.0"
- read-pkg "^5.2.0"
- run-node "^1.0.0"
- slash "^3.0.0"
-
-iconv-lite@^0.4.24:
- version "0.4.24"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
- integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
- dependencies:
- safer-buffer ">= 2.1.2 < 3"
+ resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
+ integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
ignore@^4.0.6:
version "4.0.6"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
-import-fresh@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
- integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY=
- dependencies:
- caller-path "^2.0.0"
- resolve-from "^3.0.0"
-
-import-fresh@^3.0.0:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
- integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
+import-fresh@^3.0.0, import-fresh@^3.2.1:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
+ integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
dependencies:
parent-module "^1.0.0"
resolve-from "^4.0.0"
-import-jsx@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/import-jsx/-/import-jsx-3.1.0.tgz#f17a29dd43eda827f335c0766235f9fd07f7913f"
- integrity sha512-lTuMdQ/mRXC+xQSGPDvAg1VkODlX78j5hZv2tneJ+zuo7GH/XhUF/YVKoeF382a4jO4GYw9jgganbMhEcxwb0g==
- dependencies:
- "@babel/core" "^7.5.5"
- "@babel/plugin-proposal-object-rest-spread" "^7.5.5"
- "@babel/plugin-transform-destructuring" "^7.5.0"
- "@babel/plugin-transform-react-jsx" "^7.3.0"
- caller-path "^2.0.0"
- resolve-from "^3.0.0"
-
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
@@ -1371,54 +589,6 @@ inherits@2:
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-ink@^2.6.0:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/ink/-/ink-2.7.1.tgz#ff1c75b4b022924e2993af62297fa0e48e85618b"
- integrity sha512-s7lJuQDJEdjqtaIWhp3KYHl6WV3J04U9zoQ6wVc+Xoa06XM27SXUY57qC5DO46xkF0CfgXMKkKNcgvSu/SAEpA==
- dependencies:
- ansi-escapes "^4.2.1"
- arrify "^2.0.1"
- auto-bind "^4.0.0"
- chalk "^3.0.0"
- cli-cursor "^3.1.0"
- cli-truncate "^2.1.0"
- is-ci "^2.0.0"
- lodash.throttle "^4.1.1"
- log-update "^3.0.0"
- prop-types "^15.6.2"
- react-reconciler "^0.24.0"
- scheduler "^0.18.0"
- signal-exit "^3.0.2"
- slice-ansi "^3.0.0"
- string-length "^3.1.0"
- widest-line "^3.1.0"
- wrap-ansi "^6.2.0"
- yoga-layout-prebuilt "^1.9.3"
-
-inquirer@^7.0.0:
- version "7.3.3"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003"
- integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==
- dependencies:
- ansi-escapes "^4.2.1"
- chalk "^4.1.0"
- cli-cursor "^3.1.0"
- cli-width "^3.0.0"
- external-editor "^3.0.3"
- figures "^3.0.0"
- lodash "^4.17.19"
- mute-stream "0.0.8"
- run-async "^2.4.0"
- rxjs "^6.6.0"
- string-width "^4.1.0"
- strip-ansi "^6.0.0"
- through "^2.3.6"
-
-is-arrayish@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
- integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
-
is-binary-path@~2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
@@ -1426,603 +596,213 @@ is-binary-path@~2.1.0:
dependencies:
binary-extensions "^2.0.0"
-is-ci@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
- integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
- dependencies:
- ci-info "^2.0.0"
-
-is-directory@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
- integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
-
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
-is-fullwidth-code-point@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
- integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
- dependencies:
- number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
- integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
-
is-fullwidth-code-point@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
- integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+ integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
dependencies:
is-extglob "^2.1.1"
-is-module@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
- integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=
-
is-number@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-is-reference@^1.1.2:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7"
- integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==
- dependencies:
- "@types/estree" "*"
-
-is-stream@^1.0.1, is-stream@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
- integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
+is-plain-obj@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
+ integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
-is-typedarray@^1.0.0, is-typedarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
- integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+is-unicode-supported@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
+ integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
isexe@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
-isstream@~0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
- integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
-
-istanbul-lib-coverage@^2.0.3, istanbul-lib-coverage@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49"
- integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==
-
-istanbul-lib-hook@^2.0.7:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz#c95695f383d4f8f60df1f04252a9550e15b5b133"
- integrity sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==
- dependencies:
- append-transform "^1.0.0"
-
-istanbul-lib-instrument@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630"
- integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==
- dependencies:
- "@babel/generator" "^7.4.0"
- "@babel/parser" "^7.4.3"
- "@babel/template" "^7.4.0"
- "@babel/traverse" "^7.4.3"
- "@babel/types" "^7.4.0"
- istanbul-lib-coverage "^2.0.5"
- semver "^6.0.0"
-
-istanbul-lib-processinfo@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/istanbul-lib-processinfo/-/istanbul-lib-processinfo-1.0.0.tgz#6c0b59411d2897313ea09165fd95464a32be5610"
- integrity sha512-FY0cPmWa4WoQNlvB8VOcafiRoB5nB+l2Pz2xGuXHRSy1KM8QFOYfz/rN+bGMCAeejrY3mrpF5oJHcN0s/garCg==
- dependencies:
- archy "^1.0.0"
- cross-spawn "^6.0.5"
- istanbul-lib-coverage "^2.0.3"
- rimraf "^2.6.3"
- uuid "^3.3.2"
-
-istanbul-lib-report@^2.0.8:
- version "2.0.8"
- resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33"
- integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==
- dependencies:
- istanbul-lib-coverage "^2.0.5"
- make-dir "^2.1.0"
- supports-color "^6.1.0"
-
-istanbul-lib-source-maps@^3.0.6:
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8"
- integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==
- dependencies:
- debug "^4.1.1"
- istanbul-lib-coverage "^2.0.5"
- make-dir "^2.1.0"
- rimraf "^2.6.3"
- source-map "^0.6.1"
-
-istanbul-reports@^2.2.4:
- version "2.2.7"
- resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931"
- integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==
- dependencies:
- html-escaper "^2.0.0"
-
-jackspeak@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-1.4.0.tgz#4eb2c7935c5e6d28179b50829711d1372a1c9a2a"
- integrity sha512-VDcSunT+wcccoG46FtzuBAyQKlzhHjli4q31e1fIHGOsRspqNUFjVzGb+7eIFDlTvqLygxapDHPHS0ouT2o/tw==
- dependencies:
- cliui "^4.1.0"
-
jest-worker@^26.2.1:
- version "26.3.0"
- resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.3.0.tgz#7c8a97e4f4364b4f05ed8bca8ca0c24de091871f"
- integrity sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==
+ version "26.6.2"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed"
+ integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==
dependencies:
"@types/node" "*"
merge-stream "^2.0.0"
supports-color "^7.0.0"
-"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
+js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-js-yaml@^3.13.1:
- version "3.14.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482"
- integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==
+js-yaml@4.1.0, js-yaml@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
+ integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
dependencies:
- argparse "^1.0.7"
- esprima "^4.0.0"
-
-jsbn@~0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
- integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
-
-jsesc@^2.5.1:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
- integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
-
-json-parse-better-errors@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
- integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
-
-json-parse-even-better-errors@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.0.tgz#371873c5ffa44304a6ba12419bcfa95f404ae081"
- integrity sha512-o3aP+RsWDJZayj1SbHNQAI8x0v3T3SKiGoZlNYfbUP1S3omJQ6i9CnqADqkSPaOAxwua4/1YWx5CM7oiChJt2Q==
+ argparse "^2.0.1"
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
-json-schema@0.2.3:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
- integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
-
json-stable-stringify-without-jsonify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
-json-stringify-safe@~5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
- integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
-
-json5@^2.1.2:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
- integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
- dependencies:
- minimist "^1.2.5"
-
-jsprim@^1.2.2:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
- integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
- dependencies:
- assert-plus "1.0.0"
- extsprintf "1.3.0"
- json-schema "0.2.3"
- verror "1.10.0"
-
-lcov-parse@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-1.0.0.tgz#eb0d46b54111ebc561acb4c408ef9363bdc8f7e0"
- integrity sha1-6w1GtUER68VhrLTECO+TY73I9+A=
-
-levn@^0.3.0, levn@~0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
- integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
- dependencies:
- prelude-ls "~1.1.2"
- type-check "~0.3.2"
-
-lines-and-columns@^1.1.6:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
- integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
-
-load-json-file@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
- integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs=
- dependencies:
- graceful-fs "^4.1.2"
- parse-json "^4.0.0"
- pify "^3.0.0"
- strip-bom "^3.0.0"
-
-locate-path@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
- integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
- dependencies:
- p-locate "^3.0.0"
- path-exists "^3.0.0"
-
-locate-path@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
- integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
- dependencies:
- p-locate "^4.1.0"
-
-lodash.flattendeep@^4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2"
- integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=
-
-lodash.throttle@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
- integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=
-
-lodash@^4.17.14, lodash@^4.17.19:
- version "4.17.20"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
- integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
-
-log-driver@^1.2.7:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8"
- integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==
-
-log-update@^3.0.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/log-update/-/log-update-3.4.0.tgz#3b9a71e00ac5b1185cc193a36d654581c48f97b9"
- integrity sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==
+levn@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
+ integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
dependencies:
- ansi-escapes "^3.2.0"
- cli-cursor "^2.1.0"
- wrap-ansi "^5.0.0"
+ prelude-ls "^1.2.1"
+ type-check "~0.4.0"
-loose-envify@^1.1.0, loose-envify@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
- integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
+locate-path@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+ integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
dependencies:
- js-tokens "^3.0.0 || ^4.0.0"
+ p-locate "^5.0.0"
-lru-cache@^4.0.1:
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
- integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
- dependencies:
- pseudomap "^1.0.2"
- yallist "^2.1.2"
+lodash.merge@^4.6.2:
+ version "4.6.2"
+ resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
+ integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
-magic-string@^0.25.2:
- version "0.25.7"
- resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
- integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
- dependencies:
- sourcemap-codec "^1.4.4"
-
-make-dir@^2.0.0, make-dir@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
- integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
+log-symbols@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
+ integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
dependencies:
- pify "^4.0.1"
- semver "^5.6.0"
-
-make-error@^1.1.1:
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
- integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
+ chalk "^4.1.0"
+ is-unicode-supported "^0.1.0"
-merge-source-map@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646"
- integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==
+lru-cache@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+ integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
dependencies:
- source-map "^0.6.1"
+ yallist "^4.0.0"
merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-mime-db@1.44.0:
- version "1.44.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
- integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
-
-mime-types@^2.1.12, mime-types@~2.1.19:
- version "2.1.27"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
- integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
- dependencies:
- mime-db "1.44.0"
-
-mimic-fn@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
- integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
-
-mimic-fn@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
- integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
-
-minimatch@^3.0.4:
+minimatch@3.0.4, minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
dependencies:
brace-expansion "^1.1.7"
-minimist@^1.2.5:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
- integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
-
-minipass@^3.0.0, minipass@^3.1.1:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd"
- integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==
- dependencies:
- yallist "^4.0.0"
-
-mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.4:
- version "0.5.5"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
- integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
- dependencies:
- minimist "^1.2.5"
+mocha@9:
+ version "9.1.3"
+ resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.1.3.tgz#8a623be6b323810493d8c8f6f7667440fa469fdb"
+ integrity sha512-Xcpl9FqXOAYqI3j79pEtHBBnQgVXIhpULjGQa7DVb0Po+VzmSIK9kanAiWLHoRR/dbZ2qpdPshuXr8l1VaHCzw==
+ dependencies:
+ "@ungap/promise-all-settled" "1.1.2"
+ ansi-colors "4.1.1"
+ browser-stdout "1.3.1"
+ chokidar "3.5.2"
+ debug "4.3.2"
+ diff "5.0.0"
+ escape-string-regexp "4.0.0"
+ find-up "5.0.0"
+ glob "7.1.7"
+ growl "1.10.5"
+ he "1.2.0"
+ js-yaml "4.1.0"
+ log-symbols "4.1.0"
+ minimatch "3.0.4"
+ ms "2.1.3"
+ nanoid "3.1.25"
+ serialize-javascript "6.0.0"
+ strip-json-comments "3.1.1"
+ supports-color "8.1.1"
+ which "2.0.2"
+ workerpool "6.1.5"
+ yargs "16.2.0"
+ yargs-parser "20.2.4"
+ yargs-unparser "2.0.0"
+
+module-alias@2:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/module-alias/-/module-alias-2.2.2.tgz#151cdcecc24e25739ff0aa6e51e1c5716974c0e0"
+ integrity sha512-A/78XjoX2EmNvppVWEhM2oGk3x4lLxnkEA4jTbaK97QKSDjkIoOsKQlfylt/d3kKKi596Qy3NP5XrXJ6fZIC9Q==
-ms@^2.1.1, ms@^2.1.2:
+ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-mute-stream@0.0.8:
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
- integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
+ms@2.1.3:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+nanoid@3.1.25:
+ version "3.1.25"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152"
+ integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
-nested-error-stacks@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz#0fbdcf3e13fe4994781280524f8b96b0cdff9c61"
- integrity sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==
-
-nice-try@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
- integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
-
-node-modules-regexp@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40"
- integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=
-
-normalize-package-data@^2.3.2, normalize-package-data@^2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
- integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
- dependencies:
- hosted-git-info "^2.1.4"
- resolve "^1.10.0"
- semver "2 || 3 || 4 || 5"
- validate-npm-package-license "^3.0.1"
-
normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-npm-run-path@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
- integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
- dependencies:
- path-key "^2.0.0"
-
-number-is-nan@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
- integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
-
-nyc@^14.1.1:
- version "14.1.1"
- resolved "https://registry.yarnpkg.com/nyc/-/nyc-14.1.1.tgz#151d64a6a9f9f5908a1b73233931e4a0a3075eeb"
- integrity sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==
- dependencies:
- archy "^1.0.0"
- caching-transform "^3.0.2"
- convert-source-map "^1.6.0"
- cp-file "^6.2.0"
- find-cache-dir "^2.1.0"
- find-up "^3.0.0"
- foreground-child "^1.5.6"
- glob "^7.1.3"
- istanbul-lib-coverage "^2.0.5"
- istanbul-lib-hook "^2.0.7"
- istanbul-lib-instrument "^3.3.0"
- istanbul-lib-report "^2.0.8"
- istanbul-lib-source-maps "^3.0.6"
- istanbul-reports "^2.2.4"
- js-yaml "^3.13.1"
- make-dir "^2.1.0"
- merge-source-map "^1.1.0"
- resolve-from "^4.0.0"
- rimraf "^2.6.3"
- signal-exit "^3.0.2"
- spawn-wrap "^1.4.2"
- test-exclude "^5.2.3"
- uuid "^3.3.2"
- yargs "^13.2.2"
- yargs-parser "^13.0.0"
-
-oauth-sign@~0.9.0:
- version "0.9.0"
- resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
- integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
-
-object-assign@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
- integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
-
-once@^1.3.0, once@^1.3.1, once@^1.4.0:
+once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
dependencies:
wrappy "1"
-onetime@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
- integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
- dependencies:
- mimic-fn "^1.0.0"
-
-onetime@^5.1.0:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
- integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
- dependencies:
- mimic-fn "^2.1.0"
-
-opencollective-postinstall@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"
- integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==
-
-opener@^1.5.1:
- version "1.5.2"
- resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598"
- integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==
-
-optionator@^0.8.3:
- version "0.8.3"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
- integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
- dependencies:
- deep-is "~0.1.3"
- fast-levenshtein "~2.0.6"
- levn "~0.3.0"
- prelude-ls "~1.1.2"
- type-check "~0.3.2"
- word-wrap "~1.2.3"
-
-os-homedir@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
- integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
-
-os-tmpdir@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
- integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
-
-own-or-env@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/own-or-env/-/own-or-env-1.0.1.tgz#54ce601d3bf78236c5c65633aa1c8ec03f8007e4"
- integrity sha512-y8qULRbRAlL6x2+M0vIe7jJbJx/kmUTzYonRAa2ayesR2qWLswninkVyeJe4x3IEXhdgoNodzjQRKAoEs6Fmrw==
- dependencies:
- own-or "^1.0.0"
-
-own-or@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/own-or/-/own-or-1.0.0.tgz#4e877fbeda9a2ec8000fbc0bcae39645ee8bf8dc"
- integrity sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw=
-
-p-finally@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
- integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
-
-p-limit@^2.0.0, p-limit@^2.2.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
- integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
- dependencies:
- p-try "^2.0.0"
-
-p-locate@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
- integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
+optionator@^0.9.1:
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
+ integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
dependencies:
- p-limit "^2.0.0"
+ deep-is "^0.1.3"
+ fast-levenshtein "^2.0.6"
+ levn "^0.4.1"
+ prelude-ls "^1.2.1"
+ type-check "^0.4.0"
+ word-wrap "^1.2.3"
-p-locate@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
- integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
+p-limit@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+ integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
dependencies:
- p-limit "^2.2.0"
-
-p-try@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
- integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+ yocto-queue "^0.1.0"
-package-hash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-3.0.0.tgz#50183f2d36c9e3e528ea0a8605dff57ce976f88e"
- integrity sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==
+p-locate@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+ integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
dependencies:
- graceful-fs "^4.1.15"
- hasha "^3.0.0"
- lodash.flattendeep "^4.4.0"
- release-zalgo "^1.0.0"
+ p-limit "^3.0.2"
parent-module@^1.0.0:
version "1.0.1"
@@ -2031,29 +811,6 @@ parent-module@^1.0.0:
dependencies:
callsites "^3.0.0"
-parse-json@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
- integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
- dependencies:
- error-ex "^1.3.1"
- json-parse-better-errors "^1.0.1"
-
-parse-json@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646"
- integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- error-ex "^1.3.1"
- json-parse-even-better-errors "^2.3.0"
- lines-and-columns "^1.1.6"
-
-path-exists@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
- integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
-
path-exists@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
@@ -2064,118 +821,31 @@ path-is-absolute@^1.0.0:
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
-path-key@^2.0.0, path-key@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
- integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
-
-path-parse@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
- integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
-
-path-type@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
- integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
- dependencies:
- pify "^3.0.0"
-
-performance-now@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
- integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
+path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
picomatch@^2.0.4, picomatch@^2.2.1:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
- integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
-
-pify@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
- integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
-
-pify@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
- integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
-
-pirates@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/pirates/-/pirates-3.0.2.tgz#7e6f85413fd9161ab4e12b539b06010d85954bb9"
- integrity sha512-c5CgUJq6H2k6MJz72Ak1F5sN9n9wlSlJyEnwvpm9/y3WB4E3pHBDT2c6PEiS1vyJvq2bUxUAIu0EGf8Cx4Ic7Q==
- dependencies:
- node-modules-regexp "^1.0.0"
-
-pkg-dir@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
- integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
- dependencies:
- find-up "^3.0.0"
-
-pkg-dir@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
- integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
- dependencies:
- find-up "^4.0.0"
-
-please-upgrade-node@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
- integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
- dependencies:
- semver-compare "^1.0.0"
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
+ integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
-prelude-ls@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
- integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
+prelude-ls@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
+ integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
progress@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
-prop-types@^15.6.2:
- version "15.7.2"
- resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
- integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
- dependencies:
- loose-envify "^1.4.0"
- object-assign "^4.1.1"
- react-is "^16.8.1"
-
-pseudomap@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
- integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
-
-psl@^1.1.28:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
- integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
-
-pump@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
- integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-punycode@^2.0.0, punycode@^2.1.0, punycode@^2.1.1:
+punycode@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
-qs@~6.5.2:
- version "6.5.2"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
- integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
-
randombytes@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
@@ -2183,189 +853,36 @@ randombytes@^2.1.0:
dependencies:
safe-buffer "^5.1.0"
-react-is@^16.8.1:
- version "16.13.1"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
- integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-
-react-reconciler@^0.24.0:
- version "0.24.0"
- resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.24.0.tgz#5a396b2c2f5efe8554134a5935f49f546723f2dd"
- integrity sha512-gAGnwWkf+NOTig9oOowqid9O0HjTDC+XVGBCAmJYYJ2A2cN/O4gDdIuuUQjv8A4v6GDwVfJkagpBBLW5OW9HSw==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
- prop-types "^15.6.2"
- scheduler "^0.18.0"
-
-react@^16.12.0:
- version "16.13.1"
- resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e"
- integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
- prop-types "^15.6.2"
-
-read-pkg-up@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978"
- integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==
- dependencies:
- find-up "^3.0.0"
- read-pkg "^3.0.0"
-
-read-pkg@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
- integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=
- dependencies:
- load-json-file "^4.0.0"
- normalize-package-data "^2.3.2"
- path-type "^3.0.0"
-
-read-pkg@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc"
- integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==
- dependencies:
- "@types/normalize-package-data" "^2.4.0"
- normalize-package-data "^2.5.0"
- parse-json "^5.0.0"
- type-fest "^0.6.0"
-
-readdirp@~3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada"
- integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==
+readdirp@~3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+ integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
dependencies:
picomatch "^2.2.1"
-redeyed@~2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b"
- integrity sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=
- dependencies:
- esprima "~4.0.0"
-
-regexpp@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
- integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==
-
-release-zalgo@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730"
- integrity sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=
- dependencies:
- es6-error "^4.0.1"
-
-request@^2.88.2:
- version "2.88.2"
- resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
- integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
- dependencies:
- aws-sign2 "~0.7.0"
- aws4 "^1.8.0"
- caseless "~0.12.0"
- combined-stream "~1.0.6"
- extend "~3.0.2"
- forever-agent "~0.6.1"
- form-data "~2.3.2"
- har-validator "~5.1.3"
- http-signature "~1.2.0"
- is-typedarray "~1.0.0"
- isstream "~0.1.2"
- json-stringify-safe "~5.0.1"
- mime-types "~2.1.19"
- oauth-sign "~0.9.0"
- performance-now "^2.1.0"
- qs "~6.5.2"
- safe-buffer "^5.1.2"
- tough-cookie "~2.5.0"
- tunnel-agent "^0.6.0"
- uuid "^3.3.2"
+regexpp@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
+ integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
-require-main-filename@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
- integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
-
-resolve-from@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
- integrity sha1-six699nWiBvItuZTM17rywoYh0g=
-
resolve-from@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
-resolve@^1.10.0, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.3.2:
- version "1.17.0"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
- integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
- dependencies:
- path-parse "^1.0.6"
-
-restore-cursor@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
- integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
- dependencies:
- onetime "^2.0.0"
- signal-exit "^3.0.2"
-
-restore-cursor@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
- integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
- dependencies:
- onetime "^5.1.0"
- signal-exit "^3.0.2"
-
-rimraf@2.6.3:
- version "2.6.3"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
- integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
- dependencies:
- glob "^7.1.3"
-
-rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
- integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
+rimraf@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+ integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
dependencies:
glob "^7.1.3"
-rollup-plugin-commonjs@^10.1.0:
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz#417af3b54503878e084d127adf4d1caf8beb86fb"
- integrity sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==
- dependencies:
- estree-walker "^0.6.1"
- is-reference "^1.1.2"
- magic-string "^0.25.2"
- resolve "^1.11.0"
- rollup-pluginutils "^2.8.1"
-
-rollup-plugin-node-resolve@^5.0.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz#730f93d10ed202473b1fb54a5997a7db8c6d8523"
- integrity sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==
- dependencies:
- "@types/resolve" "0.0.8"
- builtin-modules "^3.1.0"
- is-module "^1.0.0"
- resolve "^1.11.1"
- rollup-pluginutils "^2.8.1"
-
-rollup-plugin-terser@^7.0.2:
+rollup-plugin-terser@7:
version "7.0.2"
resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d"
integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==
@@ -2375,74 +892,31 @@ rollup-plugin-terser@^7.0.2:
serialize-javascript "^4.0.0"
terser "^5.0.0"
-rollup-pluginutils@^2.8.1:
- version "2.8.2"
- resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e"
- integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==
- dependencies:
- estree-walker "^0.6.1"
-
-rollup@^2.26.11:
- version "2.26.11"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.26.11.tgz#4fc31de9c7b83d50916fc8395f8c3d24730cdaae"
- integrity sha512-xyfxxhsE6hW57xhfL1I+ixH8l2bdoIMaAecdQiWF3N7IgJEMu99JG+daBiSZQjnBpzFxa0/xZm+3pbCdAQehHw==
+rollup@2:
+ version "2.61.1"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.61.1.tgz#1a5491f84543cf9e4caf6c61222d9a3f8f2ba454"
+ integrity sha512-BbTXlEvB8d+XFbK/7E5doIcRtxWPRiqr0eb5vQ0+2paMM04Ye4PZY5nHOQef2ix24l/L0SpLd5hwcH15QHPdvA==
optionalDependencies:
- fsevents "~2.1.2"
+ fsevents "~2.3.2"
-run-async@^2.4.0:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
- integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
-
-run-node@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e"
- integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==
-
-rxjs@^6.6.0:
- version "6.6.2"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.2.tgz#8096a7ac03f2cc4fe5860ef6e572810d9e01c0d2"
- integrity sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==
- dependencies:
- tslib "^1.9.0"
-
-safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2:
+safe-buffer@^5.1.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-safe-buffer@~5.1.1:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
- integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-
-"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
- integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-
-scheduler@^0.18.0:
- version "0.18.0"
- resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.18.0.tgz#5901ad6659bc1d8f3fdaf36eb7a67b0d6746b1c4"
- integrity sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==
+semver@^7.2.1:
+ version "7.3.5"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
+ integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
-
-semver-compare@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
- integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
+ lru-cache "^6.0.0"
-"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0:
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
- integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
-
-semver@^6.0.0, semver@^6.1.2:
- version "6.3.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
- integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+serialize-javascript@6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8"
+ integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==
+ dependencies:
+ randombytes "^2.1.0"
serialize-javascript@^4.0.0:
version "4.0.0"
@@ -2451,223 +925,64 @@ serialize-javascript@^4.0.0:
dependencies:
randombytes "^2.1.0"
-set-blocking@^2.0.0:
+shebang-command@^2.0.0:
version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
- integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
-
-shebang-command@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
- integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
- dependencies:
- shebang-regex "^1.0.0"
-
-shebang-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
- integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
-
-signal-exit@^3.0.0, signal-exit@^3.0.2:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
- integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
-
-slash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
- integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-
-slice-ansi@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
- integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
dependencies:
- ansi-styles "^3.2.0"
- astral-regex "^1.0.0"
- is-fullwidth-code-point "^2.0.0"
+ shebang-regex "^3.0.0"
-slice-ansi@^3.0.0:
+shebang-regex@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
- integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
- dependencies:
- ansi-styles "^4.0.0"
- astral-regex "^2.0.0"
- is-fullwidth-code-point "^3.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-source-map-support@^0.5.11, source-map-support@^0.5.16, source-map-support@^0.5.17, source-map-support@~0.5.12:
- version "0.5.19"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
- integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
+source-map-support@~0.5.20:
+ version "0.5.21"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
+ integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
dependencies:
buffer-from "^1.0.0"
source-map "^0.6.0"
-source-map@^0.5.0:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
- integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
-
-source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
+source-map@^0.6.0:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-sourcemap-codec@^1.4.4:
- version "1.4.8"
- resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
- integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
-
-spawn-wrap@^1.4.2:
- version "1.4.3"
- resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.4.3.tgz#81b7670e170cca247d80bf5faf0cfb713bdcf848"
- integrity sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==
- dependencies:
- foreground-child "^1.5.6"
- mkdirp "^0.5.0"
- os-homedir "^1.0.1"
- rimraf "^2.6.2"
- signal-exit "^3.0.2"
- which "^1.3.0"
-
-spdx-correct@^3.0.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
- integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==
- dependencies:
- spdx-expression-parse "^3.0.0"
- spdx-license-ids "^3.0.0"
-
-spdx-exceptions@^2.1.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
- integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
-
-spdx-expression-parse@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
- integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
- dependencies:
- spdx-exceptions "^2.1.0"
- spdx-license-ids "^3.0.0"
-
-spdx-license-ids@^3.0.0:
- version "3.0.5"
- resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654"
- integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==
-
-sprintf-js@~1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
- integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
-
-sshpk@^1.7.0:
- version "1.16.1"
- resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
- integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
- dependencies:
- asn1 "~0.2.3"
- assert-plus "^1.0.0"
- bcrypt-pbkdf "^1.0.0"
- dashdash "^1.12.0"
- ecc-jsbn "~0.1.1"
- getpass "^0.1.1"
- jsbn "~0.1.0"
- safer-buffer "^2.0.2"
- tweetnacl "~0.14.0"
-
-stack-utils@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8"
- integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==
-
-string-length@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837"
- integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==
- dependencies:
- astral-regex "^1.0.0"
- strip-ansi "^5.2.0"
-
-string-width@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
- integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
- dependencies:
- code-point-at "^1.0.0"
- is-fullwidth-code-point "^1.0.0"
- strip-ansi "^3.0.0"
-
-string-width@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
- integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
- dependencies:
- is-fullwidth-code-point "^2.0.0"
- strip-ansi "^4.0.0"
-
-string-width@^3.0.0, string-width@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
- integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
- dependencies:
- emoji-regex "^7.0.1"
- is-fullwidth-code-point "^2.0.0"
- strip-ansi "^5.1.0"
+source-map@~0.7.2:
+ version "0.7.3"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
+ integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
-string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
- integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
+string-width@^4.1.0, string-width@^4.2.0:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
dependencies:
emoji-regex "^8.0.0"
is-fullwidth-code-point "^3.0.0"
- strip-ansi "^6.0.0"
-
-strip-ansi@^3.0.0, strip-ansi@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
- integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
- dependencies:
- ansi-regex "^2.0.0"
+ strip-ansi "^6.0.1"
-strip-ansi@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
- integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
- dependencies:
- ansi-regex "^3.0.0"
-
-strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
- integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
- dependencies:
- ansi-regex "^4.1.0"
-
-strip-ansi@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
- integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
dependencies:
- ansi-regex "^5.0.0"
+ ansi-regex "^5.0.1"
-strip-bom@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
- integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
-
-strip-eof@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
- integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
-
-strip-json-comments@^3.0.1:
+strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+supports-color@8.1.1:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
+ integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+ dependencies:
+ has-flag "^4.0.0"
+
supports-color@^5.3.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
@@ -2675,13 +990,6 @@ supports-color@^5.3.0:
dependencies:
has-flag "^3.0.0"
-supports-color@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
- integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
- dependencies:
- has-flag "^3.0.0"
-
supports-color@^7.0.0, supports-color@^7.1.0:
version "7.2.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
@@ -2689,143 +997,20 @@ supports-color@^7.0.0, supports-color@^7.1.0:
dependencies:
has-flag "^4.0.0"
-table@^5.2.3:
- version "5.4.6"
- resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
- integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==
- dependencies:
- ajv "^6.10.2"
- lodash "^4.17.14"
- slice-ansi "^2.1.0"
- string-width "^3.0.0"
-
-tap-mocha-reporter@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/tap-mocha-reporter/-/tap-mocha-reporter-5.0.1.tgz#74f00be2ddd2a380adad45e085795137bc39497a"
- integrity sha512-1knFWOwd4khx/7uSEnUeaP9IPW3w+sqTgJMhrwah6t46nZ8P25atOKAjSvVDsT67lOPu0nfdOqUwoyKn+3E5pA==
- dependencies:
- color-support "^1.1.0"
- debug "^4.1.1"
- diff "^4.0.1"
- escape-string-regexp "^2.0.0"
- glob "^7.0.5"
- tap-parser "^10.0.0"
- tap-yaml "^1.0.0"
- unicode-length "^2.0.2"
-
-tap-parser@^10.0.0, tap-parser@^10.0.1:
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/tap-parser/-/tap-parser-10.1.0.tgz#7b1aac40dbcaa4716c0b58952686eae65d2b74ad"
- integrity sha512-FujQeciDaOiOvaIVGS1Rpb0v4R6XkOjvWCWowlz5oKuhPkEJ8U6pxgqt38xuzYhPt8dWEnfHn2jqpZdJEkW7pA==
- dependencies:
- events-to-array "^1.0.1"
- minipass "^3.0.0"
- tap-yaml "^1.0.0"
-
-tap-yaml@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/tap-yaml/-/tap-yaml-1.0.0.tgz#4e31443a5489e05ca8bbb3e36cef71b5dec69635"
- integrity sha512-Rxbx4EnrWkYk0/ztcm5u3/VznbyFJpyXO12dDBHKWiDVxy7O2Qw6MRrwO5H6Ww0U5YhRY/4C/VzWmFPhBQc4qQ==
- dependencies:
- yaml "^1.5.0"
-
-tap@^14.10.2:
- version "14.10.8"
- resolved "https://registry.yarnpkg.com/tap/-/tap-14.10.8.tgz#3c9ce79519acca2f40e57350513b2aa51c6e57c2"
- integrity sha512-aamkWefJ0G8GGf9t5LWFtrNF5tfVd8ut/tDUianLF6N4621ERITIl0qkocWCVEnsM6hZnaMKa+SggSAaBlC2tA==
- dependencies:
- "@types/react" "^16.9.16"
- async-hook-domain "^1.1.3"
- bind-obj-methods "^2.0.0"
- browser-process-hrtime "^1.0.0"
- chokidar "^3.3.0"
- color-support "^1.1.0"
- coveralls "^3.0.11"
- diff "^4.0.1"
- esm "^3.2.25"
- findit "^2.0.0"
- flow-remove-types "^2.112.0"
- foreground-child "^1.3.3"
- fs-exists-cached "^1.0.0"
- function-loop "^1.0.2"
- glob "^7.1.6"
- import-jsx "^3.1.0"
- ink "^2.6.0"
- isexe "^2.0.0"
- istanbul-lib-processinfo "^1.0.0"
- jackspeak "^1.4.0"
- minipass "^3.1.1"
- mkdirp "^0.5.4"
- nyc "^14.1.1"
- opener "^1.5.1"
- own-or "^1.0.0"
- own-or-env "^1.0.1"
- react "^16.12.0"
- rimraf "^2.7.1"
- signal-exit "^3.0.0"
- source-map-support "^0.5.16"
- stack-utils "^1.0.2"
- tap-mocha-reporter "^5.0.0"
- tap-parser "^10.0.1"
- tap-yaml "^1.0.0"
- tcompare "^3.0.0"
- treport "^1.0.2"
- trivial-deferred "^1.0.1"
- ts-node "^8.5.2"
- typescript "^3.7.2"
- which "^2.0.2"
- write-file-atomic "^3.0.1"
- yaml "^1.7.2"
- yapool "^1.0.0"
-
-tcompare@^3.0.0:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/tcompare/-/tcompare-3.0.4.tgz#e92ebdbf1af33757afa0717aaed5bb4efdd41992"
- integrity sha512-Q3TitMVK59NyKgQyFh+857wTAUE329IzLDehuPgU4nF5e8g+EUQ+yUbjUy1/6ugiNnXztphT+NnqlCXolv9P3A==
- dependencies:
- diff-frag "^1.0.1"
-
terser@^5.0.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.0.tgz#c481f4afecdcc182d5e2bdd2ff2dc61555161e81"
- integrity sha512-XTT3D3AwxC54KywJijmY2mxZ8nJiEjBHVYzq8l9OaYuRFWeQNBwvipuzzYEP4e+/AVcd1hqG/CqgsdIRyT45Fg==
+ version "5.10.0"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc"
+ integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==
dependencies:
commander "^2.20.0"
- source-map "~0.6.1"
- source-map-support "~0.5.12"
-
-test-exclude@^5.2.3:
- version "5.2.3"
- resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0"
- integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==
- dependencies:
- glob "^7.1.3"
- minimatch "^3.0.4"
- read-pkg-up "^4.0.0"
- require-main-filename "^2.0.0"
+ source-map "~0.7.2"
+ source-map-support "~0.5.20"
text-table@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
-through@^2.3.6:
- version "2.3.8"
- resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
- integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
-
-tmp@^0.0.33:
- version "0.0.33"
- resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
- integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
- dependencies:
- os-tmpdir "~1.0.2"
-
-to-fast-properties@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
- integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
-
to-regex-range@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
@@ -2833,194 +1018,51 @@ to-regex-range@^5.0.1:
dependencies:
is-number "^7.0.0"
-tough-cookie@~2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
- integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+type-check@^0.4.0, type-check@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
+ integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
dependencies:
- psl "^1.1.28"
- punycode "^2.1.1"
+ prelude-ls "^1.2.1"
-treport@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/treport/-/treport-1.0.2.tgz#5f99e68198982984415434a2a84df2af2dd7171d"
- integrity sha512-QCAbFtzIjQN+9k+alo8e6oo8j0eSLsttdahAgNLoC3U36rls8XRy/R11QOhHmPz7CDcB2ar29eLe4OFJoPnsPA==
- dependencies:
- cardinal "^2.1.1"
- chalk "^3.0.0"
- import-jsx "^3.1.0"
- ink "^2.6.0"
- ms "^2.1.2"
- string-length "^3.1.0"
- tap-parser "^10.0.1"
- unicode-length "^2.0.2"
-
-trivial-deferred@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/trivial-deferred/-/trivial-deferred-1.0.1.tgz#376d4d29d951d6368a6f7a0ae85c2f4d5e0658f3"
- integrity sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM=
-
-ts-node@^8.5.2:
- version "8.10.2"
- resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d"
- integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==
- dependencies:
- arg "^4.1.0"
- diff "^4.0.1"
- make-error "^1.1.1"
- source-map-support "^0.5.17"
- yn "3.1.1"
-
-tslib@^1.9.0:
- version "1.13.0"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
- integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
-
-tunnel-agent@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
- integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
- dependencies:
- safe-buffer "^5.0.1"
-
-tweetnacl@^0.14.3, tweetnacl@~0.14.0:
- version "0.14.5"
- resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
- integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
-
-type-check@~0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
- integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
- dependencies:
- prelude-ls "~1.1.2"
-
-type-fest@^0.11.0:
- version "0.11.0"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
- integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
-
-type-fest@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
- integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==
-
-type-fest@^0.8.1:
- version "0.8.1"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
- integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
-
-typedarray-to-buffer@^3.1.5:
- version "3.1.5"
- resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
- integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
- dependencies:
- is-typedarray "^1.0.0"
-
-typescript@^3.7.2:
- version "3.9.7"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa"
- integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==
-
-unicode-length@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/unicode-length/-/unicode-length-2.0.2.tgz#e5eb4c0d523fdf7bebb59ca261c9ca1cf732da96"
- integrity sha512-Ph/j1VbS3/r77nhoY2WU0GWGjVYOHL3xpKp0y/Eq2e5r0mT/6b649vm7KFO6RdAdrZkYLdxphYVgvODxPB+Ebg==
- dependencies:
- punycode "^2.0.0"
- strip-ansi "^3.0.1"
+type-fest@^0.20.2:
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
+ integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
uri-js@^4.2.2:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602"
- integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
dependencies:
punycode "^2.1.0"
-uuid@^3.3.2:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
- integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
-
v8-compile-cache@^2.0.3:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745"
- integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==
-
-validate-npm-package-license@^3.0.1:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
- integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
- dependencies:
- spdx-correct "^3.0.0"
- spdx-expression-parse "^3.0.0"
-
-verror@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
- integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
- dependencies:
- assert-plus "^1.0.0"
- core-util-is "1.0.2"
- extsprintf "^1.2.0"
-
-vlq@^0.2.1:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26"
- integrity sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==
-
-which-module@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
- integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
-
-which@^1.2.9, which@^1.3.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
- integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
- dependencies:
- isexe "^2.0.0"
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
+ integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
-which@^2.0.2:
+which@2.0.2, which@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
dependencies:
isexe "^2.0.0"
-widest-line@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"
- integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
- dependencies:
- string-width "^4.0.0"
-
-word-wrap@~1.2.3:
+word-wrap@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
-wrap-ansi@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
- integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=
- dependencies:
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
-
-wrap-ansi@^5.0.0, wrap-ansi@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
- integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
- dependencies:
- ansi-styles "^3.2.0"
- string-width "^3.0.0"
- strip-ansi "^5.0.0"
+workerpool@6.1.5:
+ version "6.1.5"
+ resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.5.tgz#0f7cf076b6215fd7e1da903ff6f22ddd1886b581"
+ integrity sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==
-wrap-ansi@^6.2.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
- integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
+wrap-ansi@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
dependencies:
ansi-styles "^4.0.0"
string-width "^4.1.0"
@@ -3031,89 +1073,50 @@ wrappy@1:
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-write-file-atomic@^2.4.2:
- version "2.4.3"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481"
- integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==
- dependencies:
- graceful-fs "^4.1.11"
- imurmurhash "^0.1.4"
- signal-exit "^3.0.2"
-
-write-file-atomic@^3.0.1:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
- integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
- dependencies:
- imurmurhash "^0.1.4"
- is-typedarray "^1.0.0"
- signal-exit "^3.0.2"
- typedarray-to-buffer "^3.1.5"
-
-write@1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
- integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==
- dependencies:
- mkdirp "^0.5.1"
-
-y18n@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
- integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
-
-yallist@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
- integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
+y18n@^5.0.5:
+ version "5.0.8"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
+ integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
yallist@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
-yaml@^1.5.0, yaml@^1.7.2:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
- integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
+yargs-parser@20.2.4:
+ version "20.2.4"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"
+ integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
-yapool@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/yapool/-/yapool-1.0.0.tgz#f693f29a315b50d9a9da2646a7a6645c96985b6a"
- integrity sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=
-
-yargs-parser@^13.0.0, yargs-parser@^13.1.2:
- version "13.1.2"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
- integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
- dependencies:
- camelcase "^5.0.0"
- decamelize "^1.2.0"
+yargs-parser@^20.2.2:
+ version "20.2.9"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
+ integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
-yargs@^13.2.2:
- version "13.3.2"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
- integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
- dependencies:
- cliui "^5.0.0"
- find-up "^3.0.0"
- get-caller-file "^2.0.1"
+yargs-unparser@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb"
+ integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==
+ dependencies:
+ camelcase "^6.0.0"
+ decamelize "^4.0.0"
+ flat "^5.0.2"
+ is-plain-obj "^2.1.0"
+
+yargs@16.2.0:
+ version "16.2.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
+ integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
+ dependencies:
+ cliui "^7.0.2"
+ escalade "^3.1.1"
+ get-caller-file "^2.0.5"
require-directory "^2.1.1"
- require-main-filename "^2.0.0"
- set-blocking "^2.0.0"
- string-width "^3.0.0"
- which-module "^2.0.0"
- y18n "^4.0.0"
- yargs-parser "^13.1.2"
-
-yn@3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
- integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
+ string-width "^4.2.0"
+ y18n "^5.0.5"
+ yargs-parser "^20.2.2"
-yoga-layout-prebuilt@^1.9.3:
- version "1.9.6"
- resolved "https://registry.yarnpkg.com/yoga-layout-prebuilt/-/yoga-layout-prebuilt-1.9.6.tgz#98dde95bbf8e6e12835876e9305f1e995c4bb801"
- integrity sha512-Wursw6uqLXLMjBAO4SEShuzj8+EJXhCF71/rJ7YndHTkRAYSU0GY3OghRqfAk9HPUAAFMuqp3U1Wl+01vmGRQQ==
- dependencies:
- "@types/yoga-layout" "1.9.2"
+yocto-queue@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+ integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==