diff --git a/packages/language-server/.vscode/extensions.json b/.vscode/extensions.json similarity index 100% rename from packages/language-server/.vscode/extensions.json rename to .vscode/extensions.json diff --git a/packages/language-server/.vscode/launch.json b/.vscode/launch.json similarity index 56% rename from packages/language-server/.vscode/launch.json rename to .vscode/launch.json index 4c3051d3..3f263e42 100644 --- a/packages/language-server/.vscode/launch.json +++ b/.vscode/launch.json @@ -15,18 +15,8 @@ "name": "Extension", "type": "extensionHost", "request": "launch", - "runtimeExecutable": "${execPath}/client/client.js", - "args": ["--extensionDevelopmentPath=${workspaceFolder}"] - }, - { - "name": "Extension Tests", - "type": "extensionHost", - "request": "launch", - "runtimeExecutable": "${execPath}/client/client.js", - "args": [ - "--extensionDevelopmentPath=${workspaceFolder}", - "--extensionTestsPath=${workspaceFolder}/test" - ] + "runtimeExecutable": "${execPath}/client.js", + "args": ["--extensionDevelopmentPath=${workspaceFolder}/packages/language-server/build"] } ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 5c639da2..614cd7b2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,11 @@ { - "files.trimTrailingWhitespace": false + "files.trimTrailingWhitespace": false, + "search.exclude": { + "**/.docz": true, + "**/.git": true, + "**/bower_components": true, + "**/build": true, + "**/dist": true, + "**/node_modules": true + } } diff --git a/packages/cli/.hegelrc b/packages/cli/.hegelrc index d90846aa..25a0058f 100644 --- a/packages/cli/.hegelrc +++ b/packages/cli/.hegelrc @@ -3,6 +3,7 @@ include: exclude: - ./node_modules/** - ./build/** + - ./.history/** types: - ./@types - ./node_modules/@types diff --git a/packages/cli/package.json b/packages/cli/package.json index fabb50b3..0e6bfaa8 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -2,7 +2,7 @@ "name": "@hegel/cli", "version": "0.0.45", "description": "", - "main": "index.js", + "main": "./build/index.js", "bin": { "hegel": "./build/index.js" }, diff --git a/packages/core/package.json b/packages/core/package.json index 729ebb13..c887f802 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -3,7 +3,7 @@ "author": "Artem Kobzar", "version": "0.0.45", "description": "", - "main": "build/index.js", + "main": "./build/index.js", "files": [ "build/*", "README.md" diff --git a/packages/language-server/.babelrc b/packages/language-server/.babelrc new file mode 100644 index 00000000..5a0c782c --- /dev/null +++ b/packages/language-server/.babelrc @@ -0,0 +1,10 @@ +{ + "sourceType": "module", + "presets": [ + ["@babel/preset-env", { "targets": { "node": "current" }, "modules": false }], + "@babel/preset-flow" + ], + "plugins": [ + "@babel/plugin-proposal-class-properties" + ] +} diff --git a/packages/language-server/.vscodeignore b/packages/language-server/.vscodeignore deleted file mode 100644 index 2f361b0d..00000000 --- a/packages/language-server/.vscodeignore +++ /dev/null @@ -1,8 +0,0 @@ -.vscode/** -.vscode-test/** -test/** -.gitignore -vsc-extension-quickstart.md -**/jsconfig.json -**/*.map -**/.eslintrc.json diff --git a/packages/language-server/README.md b/packages/language-server/README.md index fefb515d..171fa272 100644 --- a/packages/language-server/README.md +++ b/packages/language-server/README.md @@ -8,15 +8,15 @@ At current time it can: - [x]: show diagnostic information. -![Diagonstics](images/diagnostics.png) +![Diagonstics](https://raw.githubusercontent.com/JSMonk/hegel/master/packages/language-server/images/diagnostics.png) - [x]: show information on hovering an element. -![Hover](images/hover.png) +![Hover](https://raw.githubusercontent.com/JSMonk/hegel/master/packages/language-server/images/hover.png) - [x]: autocomplete variables on typing. -![Autocompletion](images/autocompletion.png) +![Autocompletion](https://raw.githubusercontent.com/JSMonk/hegel/master/packages/language-server/images/autocompletion.png) ## Extension Settings diff --git a/packages/language-server/extension.json b/packages/language-server/extension.json new file mode 100644 index 00000000..cfc6f793 --- /dev/null +++ b/packages/language-server/extension.json @@ -0,0 +1,60 @@ +{ + "name": "hegel-language-server", + "displayName": "Hegel", + "description": "Language server for Hegel Type Checker", + "version": "0.0.45", + "engines": { + "vscode": "^1.31.0" + }, + "publisher": "JSMonk", + "icon": "images/logo.png", + "categories": [ + "Programming Languages", + "Linters" + ], + "repository": { + "type": "git", + "url": "https://github.com/JSMonk/hegel" + }, + "activationEvents": [ + "onLanguage:javascript", + "workspaceContains:**/.hegelrc" + ], + "main": "./client.js", + "contributes": { + "configuration": { + "type": "object", + "title": "Client configuration", + "properties": { + "hegelLanguageServer.maxNumberOfProblems": { + "type": "number", + "default": 100, + "description": "Controls the maximum number of problems produced by the server." + }, + "hegelLanguageServer.trace.server": { + "type": "string", + "enum": [ + "off", + "messages", + "verbose" + ], + "default": "off", + "description": "Traces the communication between VSCode and the hegelLanguageServer service." + } + } + }, + "languages": [ + { + "id": "javascript", + "extensions": [ + ".js", + ".cjs", + ".mjs" + ] + } + ] + }, + "dependencies": { + "@hegel/typings": "*" + } +} diff --git a/packages/language-server/jsconfig.json b/packages/language-server/jsconfig.json deleted file mode 100644 index 5276da9d..00000000 --- a/packages/language-server/jsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "es6", - "checkJs": true, - "lib": [ - "es6" - ] - }, - "exclude": [ - "node_modules" - ] -} diff --git a/packages/language-server/package.json b/packages/language-server/package.json index 8e32adcd..77c8c6a5 100644 --- a/packages/language-server/package.json +++ b/packages/language-server/package.json @@ -1,68 +1,33 @@ { - "name": "hegel-language-server", - "displayName": "Hegel", - "description": "Language server for Hegel Type Checker", - "version": "0.0.45", - "engines": { - "vscode": "^1.31.0" - }, - "publisher": "JSMonk", - "icon": "images/logo.png", - "categories": [ - "Programming Languages", - "Linters" - ], - "repository": { - "type": "git", - "url": "https://github.com/JSMonk/hegel" - }, - "activationEvents": [ - "onLanguage:javascript", - "workspaceContains:**/.hegelrc" - ], - "main": "./client/client.js", - "contributes": { - "configuration": { - "type": "object", - "title": "Client configuration", - "properties": { - "hegelLanguageServer.maxNumberOfProblems": { - "type": "number", - "default": 100, - "description": "Controls the maximum number of problems produced by the server." - }, - "hegelLanguageServer.trace.server": { - "type": "string", - "enum": [ - "off", - "messages", - "verbose" - ], - "default": "off", - "description": "Traces the communication between VSCode and the hegelLanguageServer service." - } - } - }, - "languages": [ - { - "id": "javascript", - "extensions": [ - ".js", - ".cjs", - ".mjs" - ] - } - ] - }, + "name": "@hegel/language-server", + "version": "0.0.0-not-versioned", + "private": true, "scripts": { - "test": "No tests defined yet.", - "compile": "vsce package --yarn" + "prebuild": "yarn build:clean", + "build": "yarn build:rollup; yarn build:copy; yarn build:package", + "build:rollup": "rollup --config rollup.config.js", + "build:rollup:watch": "yarn build -- --watch", + "build:rollup:dev": "yarn build -- --sourcemap", + "build:clean": "rm -rf build", + "build:copy": "yarn build:copy:manifest; yarn build:copy:images; yarn build:copy:typings; yarn build:copy:readme", + "build:copy:manifest": "cp extension.json build/package.json", + "build:copy:images": "cp -r src/images build/images", + "build:copy:typings": "mkdir -p build/node_modules/@hegel; cp -r $(node -e 'process.stdout.write(require(\"path\").dirname(require.resolve(\"@hegel/typings\")))') build/node_modules/@hegel/typings", + "build:copy:readme": "cp -r README.md build/README.md", + "build:package": "cd build; vsce package", + "build:install": "code --install-extension ./build/*.vsix" }, "devDependencies": { + "@rollup/plugin-babel": "^5.0.2", + "@rollup/plugin-commonjs": "^12.0.0", + "@rollup/plugin-node-resolve": "^8.0.0", + "@rollup/plugin-replace": "^2.3.2", "@types/mocha": "^7.0.2", "@types/node": "^13.13.2", "@types/vscode": "1.14.0", + "builtin-modules": "^3.1.0", "eslint": "^6.8.0", + "rollup": "^2.12.0", "typescript": "^3.8.3", "vsce": "^1.75.0", "vscode-test": "1.3.0" diff --git a/packages/language-server/rollup.config.js b/packages/language-server/rollup.config.js new file mode 100644 index 00000000..8144dfa9 --- /dev/null +++ b/packages/language-server/rollup.config.js @@ -0,0 +1,45 @@ +import resolve from '@rollup/plugin-node-resolve'; +import babel from '@rollup/plugin-babel'; +import commonjs from '@rollup/plugin-commonjs'; +import builtinModules from 'builtin-modules'; +import replace from '@rollup/plugin-replace'; + +const base = { + output: { + format: 'cjs' + }, + external: [ + ...builtinModules, + 'vscode' + ], + plugins: [ + resolve({ + preferBuiltins: true + }), + commonjs(), + babel({ babelHelpers: 'bundled' }) + ] +}; + +export default [ + { + ...base, + input: 'src/client/client.js', + output: { + ...base.output, + file: 'build/client.js', + } + }, + { + ...base, + input: 'src/server/server.js', + output: { + ...base.output, + file: 'build/server.js', + plugins: [ + // workaround bug in @rollup/plugin-commonjs see https://github.com/rollup/plugins/issues/406 + replace({ 'commonjsRequire.resolve': 'require.resolve' }) + ] + } + } +]; diff --git a/packages/language-server/client/client.js b/packages/language-server/src/client/client.js similarity index 75% rename from packages/language-server/client/client.js rename to packages/language-server/src/client/client.js index 8f6d3bf5..7872f425 100644 --- a/packages/language-server/client/client.js +++ b/packages/language-server/src/client/client.js @@ -1,11 +1,10 @@ -const path = require("path"); -const { workspace } = require("vscode"); -const { TransportKind, LanguageClient } = require("vscode-languageclient"); +import { workspace } from "vscode"; +import { TransportKind, LanguageClient } from "vscode-languageclient"; let client; exports.activate = (context) => { - const serverModule = context.asAbsolutePath(path.join("server", "server.js")); + const serverModule = context.asAbsolutePath('server.js'); const debugOptions = { execArgv: ["--nolazy", "--inspect=6009"] }; const serverOptions = { diff --git a/packages/language-server/images/autocompletion.png b/packages/language-server/src/images/autocompletion.png similarity index 100% rename from packages/language-server/images/autocompletion.png rename to packages/language-server/src/images/autocompletion.png diff --git a/packages/language-server/images/diagnostics.png b/packages/language-server/src/images/diagnostics.png similarity index 100% rename from packages/language-server/images/diagnostics.png rename to packages/language-server/src/images/diagnostics.png diff --git a/packages/language-server/images/hover.png b/packages/language-server/src/images/hover.png similarity index 100% rename from packages/language-server/images/hover.png rename to packages/language-server/src/images/hover.png diff --git a/packages/language-server/images/logo.png b/packages/language-server/src/images/logo.png similarity index 100% rename from packages/language-server/images/logo.png rename to packages/language-server/src/images/logo.png diff --git a/packages/language-server/server/completion/completion-item-kind.js b/packages/language-server/src/server/completion/completion-item-kind.js similarity index 84% rename from packages/language-server/server/completion/completion-item-kind.js rename to packages/language-server/src/server/completion/completion-item-kind.js index 9cd9c8f1..cd2ec657 100644 --- a/packages/language-server/server/completion/completion-item-kind.js +++ b/packages/language-server/src/server/completion/completion-item-kind.js @@ -1,11 +1,11 @@ -const { ObjectType } = require("@hegel/core/type-graph/types/object-type"); -const { GenericType } = require("@hegel/core/type-graph/types/generic-type"); -const { FunctionType } = require("@hegel/core/type-graph/types/function-type"); +const { ObjectType } = require("@hegel/core/build/type-graph/types/object-type"); +const { GenericType } = require("@hegel/core/build/type-graph/types/generic-type"); +const { FunctionType } = require("@hegel/core/build/type-graph/types/function-type"); const { CompletionItemKind } = require("vscode-languageserver"); const { THIS_TYPE, CONSTRUCTABLE, -} = require("@hegel/core/type-graph/constants"); +} = require("@hegel/core/build/type-graph/constants"); /** * Find type kind of variable. diff --git a/packages/language-server/server/completion/completion-resolve.js b/packages/language-server/src/server/completion/completion-resolve.js similarity index 100% rename from packages/language-server/server/completion/completion-resolve.js rename to packages/language-server/src/server/completion/completion-resolve.js diff --git a/packages/language-server/server/completion/completion.js b/packages/language-server/src/server/completion/completion.js similarity index 100% rename from packages/language-server/server/completion/completion.js rename to packages/language-server/src/server/completion/completion.js diff --git a/packages/language-server/server/completion/narrow-types.js b/packages/language-server/src/server/completion/narrow-types.js similarity index 100% rename from packages/language-server/server/completion/narrow-types.js rename to packages/language-server/src/server/completion/narrow-types.js diff --git a/packages/language-server/server/constants.js b/packages/language-server/src/server/constants.js similarity index 71% rename from packages/language-server/server/constants.js rename to packages/language-server/src/server/constants.js index 9785ecae..d3a17205 100644 --- a/packages/language-server/server/constants.js +++ b/packages/language-server/src/server/constants.js @@ -2,4 +2,4 @@ const { ModuleScope } = require("@hegel/core"); const EMPTY_SCOPE = new ModuleScope(); -exports.EMPTY_SCOPE = EMPTY_SCOPE; \ No newline at end of file +exports.EMPTY_SCOPE = EMPTY_SCOPE; diff --git a/packages/language-server/server/hover/hover.js b/packages/language-server/src/server/hover/hover.js similarity index 100% rename from packages/language-server/server/hover/hover.js rename to packages/language-server/src/server/hover/hover.js diff --git a/packages/language-server/server/parser-settings.js b/packages/language-server/src/server/parser-settings.js similarity index 100% rename from packages/language-server/server/parser-settings.js rename to packages/language-server/src/server/parser-settings.js diff --git a/packages/language-server/server/server.js b/packages/language-server/src/server/server.js similarity index 100% rename from packages/language-server/server/server.js rename to packages/language-server/src/server/server.js diff --git a/packages/language-server/server/utils/document-ast.js b/packages/language-server/src/server/utils/document-ast.js similarity index 100% rename from packages/language-server/server/utils/document-ast.js rename to packages/language-server/src/server/utils/document-ast.js diff --git a/packages/language-server/server/utils/range.js b/packages/language-server/src/server/utils/range.js similarity index 100% rename from packages/language-server/server/utils/range.js rename to packages/language-server/src/server/utils/range.js diff --git a/packages/language-server/server/utils/wrap.js b/packages/language-server/src/server/utils/wrap.js similarity index 100% rename from packages/language-server/server/utils/wrap.js rename to packages/language-server/src/server/utils/wrap.js diff --git a/packages/language-server/server/validation/code-validation.js b/packages/language-server/src/server/validation/code-validation.js similarity index 100% rename from packages/language-server/server/validation/code-validation.js rename to packages/language-server/src/server/validation/code-validation.js diff --git a/packages/language-server/server/validation/type-definitions.js b/packages/language-server/src/server/validation/type-definitions.js similarity index 89% rename from packages/language-server/server/validation/type-definitions.js rename to packages/language-server/src/server/validation/type-definitions.js index 1698d535..ee020b39 100644 --- a/packages/language-server/server/validation/type-definitions.js +++ b/packages/language-server/src/server/validation/type-definitions.js @@ -1,4 +1,3 @@ -const path = require("path"); const { ModuleScope } = require("@hegel/core"); const { getBabylonAST } = require("../utils/document-ast"); const { createModuleScope } = require("@hegel/core"); @@ -69,10 +68,7 @@ function mixSomeTypeDefinitions(globalScope, additionalTypeGraph) { async function getStandardTypeDefinitions(globalScope) { stdLibTypeGraph = await getTypeGraphFor( - path.join( - __dirname, - "../../node_modules/@hegel/typings/standard/index.d.ts" - ), + require.resolve("@hegel/typings/standard/index.d.ts"), globalScope ); return stdLibTypeGraph; @@ -80,10 +76,7 @@ async function getStandardTypeDefinitions(globalScope) { async function getNodeJSTypeDefinitions(globalScope) { nodeJsGlobalTypeGraph = await getTypeGraphFor( - path.join( - __dirname, - "../../node_modules/@hegel/typings/nodejs/globals.d.ts" - ), + require.resolve("@hegel/typings/nodejs/globals.d.ts"), globalScope ); return nodeJsGlobalTypeGraph; @@ -91,10 +84,7 @@ async function getNodeJSTypeDefinitions(globalScope) { async function getBrowserTypeDefinitions(globalScope) { browserGlobalTypeGraph = await getTypeGraphFor( - path.join( - __dirname, - "../../node_modules/@hegel/typings/browser/index.d.ts" - ), + require.resolve("@hegel/typings/browser/index.d.ts"), globalScope ); return browserGlobalTypeGraph; diff --git a/packages/language-server/server/validation/typings.js b/packages/language-server/src/server/validation/typings.js similarity index 89% rename from packages/language-server/server/validation/typings.js rename to packages/language-server/src/server/validation/typings.js index 3907c45b..1766c989 100644 --- a/packages/language-server/server/validation/typings.js +++ b/packages/language-server/src/server/validation/typings.js @@ -1,5 +1,5 @@ -const { getConfig } = require("@hegel/cli/lib/config"); -const { importModule } = require("@hegel/cli/lib/module"); +const { getConfig } = require("@hegel/cli/build/config"); +const { importModule } = require("@hegel/cli/build/module"); const { getBabylonAST } = require("../utils/document-ast"); const { createGlobalScope } = require("@hegel/core"); const { mixTypeDefinitions } = require("./type-definitions"); diff --git a/yarn.lock b/yarn.lock index 6cc08a57..09461260 100644 --- a/yarn.lock +++ b/yarn.lock @@ -233,6 +233,13 @@ dependencies: "@babel/types" "^7.8.3" +"@babel/helper-module-imports@^7.7.4": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz#dd331bd45bccc566ce77004e9d05fe17add13876" + integrity sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg== + dependencies: + "@babel/types" "^7.10.1" + "@babel/helper-module-transforms@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5" @@ -301,6 +308,11 @@ dependencies: "@babel/types" "^7.8.3" +"@babel/helper-validator-identifier@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz#5770b0c1a826c4f53f5ede5e153163e0318e94b5" + integrity sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw== + "@babel/helper-validator-identifier@^7.9.0", "@babel/helper-validator-identifier@^7.9.5": version "7.9.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" @@ -1150,6 +1162,15 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@babel/types@^7.10.1": + version "7.10.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.2.tgz#30283be31cad0dbf6fb00bd40641ca0ea675172d" + integrity sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng== + dependencies: + "@babel/helper-validator-identifier" "^7.10.1" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -1648,6 +1669,57 @@ prop-types "^15.6.1" react-lifecycles-compat "^3.0.4" +"@rollup/plugin-babel@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.0.2.tgz#d9351b9545b0c586a193fc99830d4b1a25317ed5" + integrity sha512-GiL7jL+FGppzQ1Sn4y2ER4UYXlgXFFEt+sHm4WJEzQwI76Yf9oy2QDqIvcon6xApZWlik3L8fezRGC6Mj2vRXg== + dependencies: + "@babel/helper-module-imports" "^7.7.4" + "@rollup/pluginutils" "^3.0.8" + +"@rollup/plugin-commonjs@^12.0.0": + version "12.0.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-12.0.0.tgz#e2f308ae6057499e0f413f878fff7c3a0fdc02a1" + integrity sha512-8+mDQt1QUmN+4Y9D3yCG8AJNewuTSLYPJVzKKUZ+lGeQrI+bV12Tc5HCyt2WdlnG6ihIL/DPbKRJlB40DX40mw== + dependencies: + "@rollup/pluginutils" "^3.0.8" + commondir "^1.0.1" + estree-walker "^1.0.1" + glob "^7.1.2" + is-reference "^1.1.2" + magic-string "^0.25.2" + resolve "^1.11.0" + +"@rollup/plugin-node-resolve@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-8.0.0.tgz#47cc0775e31b6a531c88a40270377fe899a271cb" + integrity sha512-5poJCChrkVggXXND/sQ7yNqwjUNT4fP31gpRWCnSNnlXuUXTCMHT33xZrTGxgjm5Rl18MHj7iEzlCT8rYWwQSA== + dependencies: + "@rollup/pluginutils" "^3.0.8" + "@types/resolve" "0.0.8" + builtin-modules "^3.1.0" + deep-freeze "^0.0.1" + deepmerge "^4.2.2" + is-module "^1.0.0" + resolve "^1.14.2" + +"@rollup/plugin-replace@^2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.3.2.tgz#da4e0939047f793c2eb5eedfd6c271232d0a033f" + integrity sha512-KEEL7V2tMNOsbAoNMKg91l1sNXBDoiP31GFlqXVOuV5691VQKzKBh91+OKKOG4uQWYqcFskcjFyh1d5YnZd0Zw== + dependencies: + "@rollup/pluginutils" "^3.0.8" + magic-string "^0.25.5" + +"@rollup/pluginutils@^3.0.8": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.0.10.tgz#a659b9025920378494cd8f8c59fbf9b3a50d5f12" + integrity sha512-d44M7t+PjmMrASHbhgpSbVgtL6EFyX7J4mYxwQ/c5eoaE6N2VgCgEcWVzNnwycIloti+/MpwFr8qfw+nRw00sw== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" @@ -1884,6 +1956,16 @@ resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + +"@types/estree@0.0.44": + version "0.0.44" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.44.tgz#980cc5a29a3ef3bea6ff1f7d021047d7ea575e21" + integrity sha512-iaIVzr+w2ZJ5HkidlZ3EJM8VTZb2MJLCjw3V+505yVts0gRC4UMvjw0d1HPtGqI/HQC/KdsYtayfzl+AXY2R8g== + "@types/events@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" @@ -2046,6 +2128,13 @@ "@types/prop-types" "*" csstype "^2.2.0" +"@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/rimraf@^2.0.2": version "2.0.4" resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-2.0.4.tgz#403887b0b53c6100a6c35d2ab24f6ccc042fec46" @@ -3609,7 +3698,7 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" -builtin-modules@^3.0.0: +builtin-modules@^3.0.0, 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== @@ -5161,6 +5250,11 @@ deep-extend@^0.6.0: resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== +deep-freeze@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/deep-freeze/-/deep-freeze-0.0.1.tgz#3a0b0005de18672819dfd38cd31f91179c893e84" + integrity sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ= + deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -6318,6 +6412,11 @@ estraverse@^5.1.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -9097,6 +9196,11 @@ is-lower-case@^1.1.0: dependencies: lower-case "^1.1.0" +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-npm@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-3.0.0.tgz#ec9147bfb629c43f494cf67936a961edec7e8053" @@ -9182,6 +9286,13 @@ is-potential-custom-element-name@^1.0.0: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= +is-reference@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.0.tgz#d938b0cf85a0df09849417b274f02fb509293599" + integrity sha512-ZVxq+5TkOx6GQdnoMm2aRdCKADdcrOWXLGzGT+vIA8DMpqEJaRk5AL1bS80zJ2bjHunVmjdzfCt0e4BymIEqKQ== + dependencies: + "@types/estree" "0.0.44" + is-regex@^1.0.4, is-regex@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" @@ -10480,7 +10591,7 @@ lz-string@^1.4.4: resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= -magic-string@^0.25.1, magic-string@^0.25.3: +magic-string@^0.25.1, magic-string@^0.25.2, magic-string@^0.25.3, magic-string@^0.25.5: version "0.25.7" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== @@ -12115,7 +12226,7 @@ physical-cpu-count@^2.0.0: resolved "https://registry.yarnpkg.com/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz#18de2f97e4bf7a9551ad7511942b5496f7aba660" integrity sha1-GN4vl+S/epVRrXURlCtUlverpmA= -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== @@ -14053,7 +14164,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.7.1, resolve@^1.8.1: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.15.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.7.1, resolve@^1.8.1: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== @@ -14145,6 +14256,13 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" +rollup@^2.12.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.12.0.tgz#12d49d1db23020f75184da725d064d3db5245678" + integrity sha512-vKwc/xFkZGM9DRai3Eztpr/4g0yYDgNKVq8tLXhq/aSLbR+/EVL6rTjEW9bgWgeYEIKoN66/5w2Bjv1gzyHR/w== + optionalDependencies: + fsevents "~2.1.2" + rsvp@^4.8.4: version "4.8.5" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734"