diff --git a/.buildkite/run.sh b/.buildkite/run.sh index f827122da6..eed124c1a9 100755 --- a/.buildkite/run.sh +++ b/.buildkite/run.sh @@ -41,15 +41,15 @@ echo "--- Run proxy fmt" echo "--- Run proxy lints" (cd proxy && time cargo clippy --all --all-features --all-targets -Z unstable-options -- --deny warnings) +echo "--- Run app svelte checks" +time yarn svelte:check + echo "--- Run app eslint checks" time yarn lint echo "--- Run app prettier checks" time yarn prettier:check -echo "--- Run app svelte checks" -time yarn svelte:check - echo "--- Run proxy tests" (cd proxy && time cargo test --all --all-features --all-targets) diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000000..d7ef0820ad --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,55 @@ +const eslintSveltePreprocess = require("eslint-svelte3-preprocess"); +const svelteConfig = require("./svelte.config"); + +module.exports = { + env: { + node: true, + browser: true, + }, + parser: "@typescript-eslint/parser", + parserOptions: { + createDefaultProgram: true, + ecmaVersion: 2019, + sourceType: "module", + }, + extends: ["eslint:recommended"], + plugins: ["svelte3", "@typescript-eslint"], + overrides: [ + { + files: ["*.svelte"], + processor: "svelte3/svelte3", + }, + { + files: ["*.ts", "*.json"], + extends: ["plugin:@typescript-eslint/recommended"], + }, + ], + rules: { + // Disallow Unused Variables + // https://eslint.org/docs/rules/no-unused-vars + "no-unused-vars": ["error", { argsIgnorePattern: "^_" }], + "@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_" }], + // require using arrow functions as callbacks + // https://eslint.org/docs/rules/prefer-arrow-callback + "prefer-arrow-callback": "error", + // require using template literals instead of string concatenation + // http://eslint.org/docs/rules/prefer-template + "prefer-template": "error", + // require using of const declaration for variables that are never modified after declared + // https://eslint.org/docs/rules/prefer-const + "prefer-const": "error", + // disallow modifying variables that are declared using const + // https://eslint.org/docs/rules/no-const-assign + "no-const-assign": "error", + // require let or const instead of var + // https://eslint.org/docs/rules/no-var + "no-var": "error", + + // require at least one whitespace after comments( // and /*) + // https://eslint.org/docs/rules/spaced-comment + "spaced-comment": ["warn", "always"], + }, + settings: { + "svelte3/preprocess": eslintSveltePreprocess(svelteConfig.preprocess), + }, +}; diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 537534b588..0000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "env": { - "browser": true, - "es6": true, - "node": true - }, - "plugins": ["no-only-tests"], - "extends": ["eslint:recommended"], - "parserOptions": { - "ecmaVersion": 2017, - "sourceType": "module", - "ecmaFeatures": { - "modules": true, - "experimentalObjectRestSpread": true - } - }, - "overrides": [ - { - "files": ["**/*.svelte"], - "plugins": ["svelte3"], - "processor": "svelte3/svelte3", - "parser": "babel-eslint" - }, - { - "files": ["**/*.ts"], - "extends": [ - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking" - ], - "plugins": ["@typescript-eslint"], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": "./tsconfig.json" - } - } - ], - "rules": { - "no-only-tests/no-only-tests": "error", - // Disallow Unused Variables - // https://eslint.org/docs/rules/no-unused-vars - "no-unused-vars": ["error", { "argsIgnorePattern": "^_" }], - // require using arrow functions as callbacks - // https://eslint.org/docs/rules/prefer-arrow-callback - "prefer-arrow-callback": "error", - // require using template literals instead of string concatenation - // http://eslint.org/docs/rules/prefer-template - "prefer-template": "error", - // require using of const declaration for variables that are never modified after declared - // https://eslint.org/docs/rules/prefer-const - "prefer-const": "error", - // disallow modifying variables that are declared using const - // https://eslint.org/docs/rules/no-const-assign - "no-const-assign": "error", - // require let or const instead of var - // https://eslint.org/docs/rules/no-var - "no-var": "error", - - // require at least one whitespace after comments( // and /*) - // https://eslint.org/docs/rules/spaced-comment - "spaced-comment": ["warn", "always"] - } -} diff --git a/cypress/plugins/index.js b/cypress/plugins/index.js index 00234406a3..83f9671fa1 100644 --- a/cypress/plugins/index.js +++ b/cypress/plugins/index.js @@ -12,7 +12,7 @@ // the project's config changing) // eslint-disable-next-line no-unused-vars -module.exports = (on, config) => { +module.exports = (_on, _config) => { // `on` is used to hook into various events Cypress emits // `config` is the resolved Cypress config }; diff --git a/package.json b/package.json index 74e1e8812a..01e9d9ce44 100644 --- a/package.json +++ b/package.json @@ -65,21 +65,23 @@ "@types/marked": "^1.1.0", "@types/node": "^14.0.23", "@types/twemoji": "^12.1.1", - "@typescript-eslint/eslint-plugin": "^3.6.1", - "@typescript-eslint/parser": "^3.6.1", + "@typescript-eslint/eslint-plugin": "^3.10.0", + "@typescript-eslint/parser": "^3.10.0", "babel-eslint": "^10.1.0", "chokidar": "^3.4.1", "cypress": "^4.10.0", "electron": "^9.1.0", "electron-builder": "^22.6.0", - "eslint": "^7.5.0", + "eslint": "^7.7.0", "eslint-plugin-cypress": "^2.10.3", "eslint-plugin-no-only-tests": "^2.4.0", "eslint-plugin-svelte3": "^2.7.3", + "eslint-svelte3-preprocess": "^0.0.4", "husky": ">=4.2.3", "jest": "^26.1.0", "lint-staged": "^10.2.11", "npm-run-all": "^4.1.5", + "patch-package": "^6.2.2", "prettier": "^2.0.5", "prettier-plugin-svelte": "^1.1.0", "rollup": "^2.22.1", @@ -93,12 +95,12 @@ "sirv-cli": "^1.0.3", "standard-version": "^8.0.2", "svelte": "^3.24.0", - "svelte-check": "^0.1.55", - "svelte-preprocess": "^4.0.8", + "svelte-check": "^1.0.31", + "svelte-preprocess": "^4.0.0", "svelte-spa-router": "^2.2.0", "ts-jest": "^26.1.3", "ts-node": "^8.10.1", - "typescript": "^3.9.7", + "typescript": "^4.0.2", "wait-on": "^5.1.0" }, "scripts": { @@ -128,6 +130,7 @@ "cypress:open": "yarn run cypress open", "release": "babel-node --presets \"@babel/env\" scripts/release.js", "release:finalize": "babel-node --presets \"@babel/env\" scripts/release.js --finalize", + "postinstall": "patch-package", "prettier": "prettier \"**/*.@(js|ts|json|svelte|css|html)\" --ignore-path .gitignore", "prettier:check": "yarn prettier --check", "prettier:write": "yarn prettier --write", diff --git a/patches/eslint-plugin-svelte3+2.7.3.patch b/patches/eslint-plugin-svelte3+2.7.3.patch new file mode 100644 index 0000000000..3bef40952b --- /dev/null +++ b/patches/eslint-plugin-svelte3+2.7.3.patch @@ -0,0 +1,374 @@ +diff --git a/node_modules/eslint-plugin-svelte3/index.js b/node_modules/eslint-plugin-svelte3/index.js +index 86ec523..d9a8dfe 100644 +--- a/node_modules/eslint-plugin-svelte3/index.js ++++ b/node_modules/eslint-plugin-svelte3/index.js +@@ -62,6 +62,15 @@ const get_line_offsets = str => { + return offsets; + }; + ++// find the index of the last element of an array matching a condition ++const find_last_index = (array, cond) => { ++ const idx = array.findIndex(item => !cond(item)); ++ return idx === -1 ? array.length - 1 : idx - 1; ++}; ++ ++// find the last element of an array matching a condition ++const find_last = (array, cond) => array[find_last_index(array, cond)]; ++ + // return a new block + const new_block = () => ({ transformed_code: '', line_offsets: null, translations: new Map() }); + +@@ -100,6 +109,7 @@ Linter.prototype.verify = function(code, config, options) { + processor_options.ignore_styles = settings['svelte3/ignore-styles']; + processor_options.compiler_options = settings['svelte3/compiler-options']; + processor_options.named_blocks = settings['svelte3/named-blocks']; ++ processor_options.svelte_preprocess = settings['svelte3/preprocess']; + // call original Linter#verify + return verify.call(this, code, config, options); + }; +@@ -110,10 +120,94 @@ const reset = () => { + messages: null, + var_names: null, + blocks: new Map(), ++ pre_line_offsets: null, ++ post_line_offsets: null, ++ mappings: null, + }; + }; + reset(); + ++var charToInteger = {}; ++var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; ++for (var i = 0; i < chars.length; i++) { ++ charToInteger[chars.charCodeAt(i)] = i; ++} ++function decode(mappings) { ++ var generatedCodeColumn = 0; // first field ++ var sourceFileIndex = 0; // second field ++ var sourceCodeLine = 0; // third field ++ var sourceCodeColumn = 0; // fourth field ++ var nameIndex = 0; // fifth field ++ var decoded = []; ++ var line = []; ++ var segment = []; ++ for (var i = 0, j = 0, shift = 0, value = 0, len = mappings.length; i < len; i++) { ++ var c = mappings.charCodeAt(i); ++ if (c === 44) { // "," ++ if (segment.length) ++ line.push(segment); ++ segment = []; ++ j = 0; ++ } ++ else if (c === 59) { // ";" ++ if (segment.length) ++ line.push(segment); ++ segment = []; ++ j = 0; ++ decoded.push(line); ++ line = []; ++ generatedCodeColumn = 0; ++ } ++ else { ++ var integer = charToInteger[c]; ++ if (integer === undefined) { ++ throw new Error('Invalid character (' + String.fromCharCode(c) + ')'); ++ } ++ var hasContinuationBit = integer & 32; ++ integer &= 31; ++ value += integer << shift; ++ if (hasContinuationBit) { ++ shift += 5; ++ } ++ else { ++ var shouldNegate = value & 1; ++ value >>>= 1; ++ if (shouldNegate) { ++ value = -value; ++ if (value === 0) ++ value = -0x80000000; ++ } ++ if (j == 0) { ++ generatedCodeColumn += value; ++ segment.push(generatedCodeColumn); ++ } ++ else if (j === 1) { ++ sourceFileIndex += value; ++ segment.push(sourceFileIndex); ++ } ++ else if (j === 2) { ++ sourceCodeLine += value; ++ segment.push(sourceCodeLine); ++ } ++ else if (j === 3) { ++ sourceCodeColumn += value; ++ segment.push(sourceCodeColumn); ++ } ++ else if (j === 4) { ++ nameIndex += value; ++ segment.push(nameIndex); ++ } ++ j++; ++ value = shift = 0; // reset ++ } ++ } ++ } ++ if (segment.length) ++ line.push(segment); ++ decoded.push(line); ++ return decoded; ++} ++ + let default_compiler; + + // find the contextual name or names described by a particular node in the AST +@@ -135,7 +229,7 @@ const find_contextual_names = (compiler, node) => { + }; + + // extract scripts to lint from component definition +-const preprocess = text => { ++const preprocess = (text, filename) => { + const compiler = processor_options.custom_compiler || default_compiler || (default_compiler = require('svelte/compiler')); + if (processor_options.ignore_styles) { + // wipe the appropriate -{#if align !== null} +{#if align}
diff --git a/ui/Screen/TransactionDetails.svelte b/ui/Screen/TransactionDetails.svelte index b815c10204..4d5e2ff0ed 100644 --- a/ui/Screen/TransactionDetails.svelte +++ b/ui/Screen/TransactionDetails.svelte @@ -2,7 +2,6 @@ import { getContext } from "svelte"; import { querystring } from "svelte-spa-router"; - import { fallback } from "../src/identity.ts"; import { parseQueryString } from "../src/path.ts"; import * as transaction from "../src/transaction.ts"; @@ -11,12 +10,6 @@ export let params = null; const session = getContext("session"); - // TODO(xla): Can go once we get proper transaction participants. - let identity = fallback; - - if (session.identity !== null) { - identity = session.identity; - } const getPlayer = tx => { return transaction.getPayer(tx.messages[0], session); diff --git a/ui/src/account.ts b/ui/src/account.ts index 856a4651e9..54d12b70f7 100644 --- a/ui/src/account.ts +++ b/ui/src/account.ts @@ -18,7 +18,7 @@ export const exists = (id: string): Promise => { const balanceStore = remote.createStore(); export const balance = balanceStore.readable; -export const updateBalance = (id: string) => { +export const updateBalance = (id: string): void => { balanceStore.loading(); getBalance(id).then(balanceStore.success).catch(balanceStore.error); }; diff --git a/ui/src/discovery.ts b/ui/src/discovery.ts index 5cafe6219f..e75799a9eb 100644 --- a/ui/src/discovery.ts +++ b/ui/src/discovery.ts @@ -5,7 +5,7 @@ import * as remote from "./remote"; const projectsStore = remote.createStore(); export const projects = projectsStore.readable; -export const fetch = () => +export const fetch = (): Promise => api .get("projects/discover") .then(projectsStore.success) diff --git a/ui/src/modal.ts b/ui/src/modal.ts index 96f59c881b..1694fb0576 100644 --- a/ui/src/modal.ts +++ b/ui/src/modal.ts @@ -17,7 +17,7 @@ const routes: Record = { export const store = writable({ show: false, component: null }); -export const hide = () => store.set({ show: false, component: null }); +export const hide = (): void => store.set({ show: false, component: null }); export const toggle = (path: ModalRoute): void => { // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access diff --git a/ui/src/org.ts b/ui/src/org.ts index 21f6c52640..49c4714148 100644 --- a/ui/src/org.ts +++ b/ui/src/org.ts @@ -211,7 +211,9 @@ export const orgTransactions = ( return transactions.filter(tx => involvesOrg(tx.messages[0], id, accountId)); }; -export const formatProjectMetadata = (project: Project) => +export const formatProjectMetadata = ( + project: Project +): { name: string; description?: string } => project.maybeProject ? { name: project.name, diff --git a/ui/src/transaction.ts b/ui/src/transaction.ts index 5bc7290b22..697d20d27a 100644 --- a/ui/src/transaction.ts +++ b/ui/src/transaction.ts @@ -392,7 +392,7 @@ const payerFromOrg = (org: Org): Payer => { }; }; -const unkownAvatar: EmojiAvatar = { +const unknownAvatar: EmojiAvatar = { background: { r: 245, g: 245, @@ -406,29 +406,29 @@ const unkownAvatar: EmojiAvatar = { // component of such entities. To reproduce, register an org, transfer // something from it to the (registered) user, restart the app, and // now look at the 'Incoming Transfer' in the user wallet. -export const unkownOrg: Org = { - id: "Unkown org", +export const unknownOrg: Org = { + id: "unknown org", accountId: "5CNskZBkQcJzwjJ1sgWPpByThABe3wKrsBJoe8wi1kKzGGpS", shareableEntityIdentifier: "org@radicle", members: [{ handle: "user" }], - avatarFallback: unkownAvatar, + avatarFallback: unknownAvatar, }; -// Identity counter part of `unkownOrg`. -export const unkownIdentity: Identity = { - id: "user@unkown.git", +// Identity counter part of `unknownOrg`. +export const unknownIdentity: Identity = { + id: "user@unknown.git", metadata: { - handle: "Unkown user", + handle: "unknown user", }, - avatarFallback: unkownAvatar, + avatarFallback: unknownAvatar, }; // Get the payer of a transaction. // Note: It now looks the payer up based on the local session, whereas // in the future we want to look it up on the network. export const getPayer = (msg: Message, session: Session): Payer | undefined => { - const identity = session.identity ?? unkownIdentity; - const org = (org_id: string) => unkownOrg; + const identity = session.identity ?? unknownIdentity; + const org = (_org_id: string) => unknownOrg; switch (msg.type) { case MessageType.OrgRegistration: diff --git a/yarn.lock b/yarn.lock index 57fcab4b14..6ee4cc52a8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -958,6 +958,16 @@ resolved "https://registry.yarnpkg.com/@emmetio/extract-abbreviation/-/extract-abbreviation-0.1.6.tgz#e4a9856c1057f0aff7d443b8536477c243abe28c" integrity sha512-Ce3xE2JvTSEbASFbRbA1gAIcMcZWdS2yUYRaQbeM0nbOzaZrUYfa3ePtcriYRZOZmr+CkKA+zbjhvTpIOAYVcw== +"@eslint/eslintrc@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.1.0.tgz#3d1f19fb797d42fb1c85458c1c73541eeb1d9e76" + integrity sha512-bfL5365QSCmH6cPeFT7Ywclj8C7LiF7sO6mUGzZhtAMV7iID1Euq6740u/SRi4C80NOnVz/CEfK8/HO+nCAPJg== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + import-fresh "^3.2.1" + strip-json-comments "^3.1.1" + "@hapi/address@^4.0.1": version "4.1.0" resolved "https://registry.yarnpkg.com/@hapi/address/-/address-4.1.0.tgz#d60c5c0d930e77456fdcde2598e77302e2955e1d" @@ -1446,52 +1456,52 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^3.6.1": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.7.0.tgz#0f91aa3c83d019591719e597fbdb73a59595a263" - integrity sha512-4OEcPON3QIx0ntsuiuFP/TkldmBGXf0uKxPQlGtS/W2F3ndYm8Vgdpj/woPJkzUc65gd3iR+qi3K8SDQP/obFg== +"@typescript-eslint/eslint-plugin@^3.10.0": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz#7e061338a1383f59edc204c605899f93dc2e2c8f" + integrity sha512-PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ== dependencies: - "@typescript-eslint/experimental-utils" "3.7.0" + "@typescript-eslint/experimental-utils" "3.10.1" debug "^4.1.1" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.7.0.tgz#0ee21f6c48b2b30c63211da23827725078d5169a" - integrity sha512-xpfXXAfZqhhqs5RPQBfAFrWDHoNxD5+sVB5A46TF58Bq1hRfVROrWHcQHHUM9aCBdy9+cwATcvCbRg8aIRbaHQ== +"@typescript-eslint/experimental-utils@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz#e179ffc81a80ebcae2ea04e0332f8b251345a686" + integrity sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/types" "3.7.0" - "@typescript-eslint/typescript-estree" "3.7.0" + "@typescript-eslint/types" "3.10.1" + "@typescript-eslint/typescript-estree" "3.10.1" eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^3.6.1": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.7.0.tgz#3e9cd9df9ea644536feb6e5acdb8279ecff96ce9" - integrity sha512-2LZauVUt7jAWkcIW7djUc3kyW+fSarNEuM3RF2JdLHR9BfX/nDEnyA4/uWz0wseoWVZbDXDF7iF9Jc342flNqQ== +"@typescript-eslint/parser@^3.10.0": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.10.1.tgz#1883858e83e8b442627e1ac6f408925211155467" + integrity sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "3.7.0" - "@typescript-eslint/types" "3.7.0" - "@typescript-eslint/typescript-estree" "3.7.0" + "@typescript-eslint/experimental-utils" "3.10.1" + "@typescript-eslint/types" "3.10.1" + "@typescript-eslint/typescript-estree" "3.10.1" eslint-visitor-keys "^1.1.0" -"@typescript-eslint/types@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.7.0.tgz#09897fab0cb95479c01166b10b2c03c224821077" - integrity sha512-reCaK+hyKkKF+itoylAnLzFeNYAEktB0XVfSQvf0gcVgpz1l49Lt6Vo9x4MVCCxiDydA0iLAjTF/ODH0pbfnpg== +"@typescript-eslint/types@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727" + integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ== -"@typescript-eslint/typescript-estree@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.7.0.tgz#66872e6da120caa4b64e6b4ca5c8702afc74738d" - integrity sha512-xr5oobkYRebejlACGr1TJ0Z/r0a2/HUf0SXqPvlgUMwiMqOCu/J+/Dr9U3T0IxpE5oLFSkqMx1FE/dKaZ8KsOQ== +"@typescript-eslint/typescript-estree@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz#fd0061cc38add4fad45136d654408569f365b853" + integrity sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w== dependencies: - "@typescript-eslint/types" "3.7.0" - "@typescript-eslint/visitor-keys" "3.7.0" + "@typescript-eslint/types" "3.10.1" + "@typescript-eslint/visitor-keys" "3.10.1" debug "^4.1.1" glob "^7.1.6" is-glob "^4.0.1" @@ -1499,13 +1509,18 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.7.0.tgz#ac0417d382a136e4571a0b0dcfe52088cb628177" - integrity sha512-k5PiZdB4vklUpUX4NBncn5RBKty8G3ihTY+hqJsCdMuD0v4jofI5xuqwnVcWxfv6iTm2P/dfEa2wMUnsUY8ODw== +"@typescript-eslint/visitor-keys@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz#cd4274773e3eb63b2e870ac602274487ecd1e931" + integrity sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ== dependencies: eslint-visitor-keys "^1.1.0" +"@yarnpkg/lockfile@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" + integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== + JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -1537,11 +1552,16 @@ acorn-walk@^7.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn@^7.1.1, acorn@^7.3.1: +acorn@^7.1.1: version "7.3.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd" integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA== +acorn@^7.4.0: + version "7.4.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" + integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== + add-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" @@ -1570,6 +1590,16 @@ ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^6.12.4: + version "6.12.4" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" + integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== + 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-align@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" @@ -2058,6 +2088,13 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + bluebird-lst@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c" @@ -2936,6 +2973,21 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== +deasync-promise@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deasync-promise/-/deasync-promise-1.0.1.tgz#2b27de478167af4ef34ba99879c52ec0cedd61c2" + integrity sha1-KyfeR4Fnr07zS6mYecUuwM7dYcI= + dependencies: + deasync "^0.1.7" + +deasync@^0.1.7: + version "0.1.20" + resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.20.tgz#546fd2660688a1eeed55edce2308c5cf7104f9da" + integrity sha512-E1GI7jMI57hL30OX6Ht/hfQU8DO4AuB9m72WFm4c38GNbUD4Q03//XZaOIHZiY+H1xUaomcot5yk2q/qIZQkGQ== + dependencies: + bindings "^1.5.0" + node-addon-api "^1.7.1" + debug@4.1.1, 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" @@ -3367,6 +3419,14 @@ eslint-scope@^5.0.0, eslint-scope@^5.1.0: esrecurse "^4.1.0" estraverse "^4.1.1" +eslint-svelte3-preprocess@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/eslint-svelte3-preprocess/-/eslint-svelte3-preprocess-0.0.4.tgz#38fc08fa5659875291b3dd8ccbd606b8e190bee6" + integrity sha512-dD8HyWGflED+FwREAFXgYQw6uzN80FR78sPIgVod5+KxbtbYcAToECMXo137EWg8YTGsxMiLWUvw/rq9jk77Yw== + dependencies: + deasync-promise "^1.0.1" + patch-package "^6.2.2" + eslint-utils@^2.0.0, eslint-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" @@ -3379,12 +3439,13 @@ eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3 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@^7.5.0: - version "7.5.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.5.0.tgz#9ecbfad62216d223b82ac9ffea7ef3444671d135" - integrity sha512-vlUP10xse9sWt9SGRtcr1LAC67BENcQMFeV+w5EvLEoFe3xJ8cF1Skd0msziRx/VMC+72B4DxreCE+OR12OA6Q== +eslint@^7.7.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.8.0.tgz#9a3e2e6e4d0a3f8c42686073c25ebf2e91443e8a" + integrity sha512-qgtVyLZqKd2ZXWnLQA4NtVbOyH56zivOAdBFWE54RFkSZjokzNrcP4Z0eVWsZ+84ByXv+jL9k/wE1ENYe8xRFw== dependencies: "@babel/code-frame" "^7.0.0" + "@eslint/eslintrc" "^0.1.0" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -3394,7 +3455,7 @@ eslint@^7.5.0: eslint-scope "^5.1.0" eslint-utils "^2.1.0" eslint-visitor-keys "^1.3.0" - espree "^7.2.0" + espree "^7.3.0" esquery "^1.2.0" esutils "^2.0.2" file-entry-cache "^5.0.1" @@ -3421,12 +3482,12 @@ eslint@^7.5.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.2.0.tgz#1c263d5b513dbad0ac30c4991b93ac354e948d69" - integrity sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g== +espree@^7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348" + integrity sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw== dependencies: - acorn "^7.3.1" + acorn "^7.4.0" acorn-jsx "^5.2.0" eslint-visitor-keys "^1.3.0" @@ -3671,6 +3732,11 @@ file-entry-cache@^5.0.1: dependencies: flat-cache "^2.0.1" +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + filelist@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.1.tgz#f10d1a3ae86c1694808e8f20906f43d4c9132dbb" @@ -3741,6 +3807,14 @@ find-versions@^3.2.0: dependencies: semver-regex "^2.0.0" +find-yarn-workspace-root@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz#40eb8e6e7c2502ddfaa2577c176f221422f860db" + integrity sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q== + dependencies: + fs-extra "^4.0.3" + micromatch "^3.1.4" + flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -3804,6 +3878,24 @@ fs-extra@8.1.0, fs-extra@^8.0.1, fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-extra@^9.0.0: version "9.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" @@ -4032,7 +4124,7 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== @@ -4230,7 +4322,7 @@ ignore@^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@^3.0.0, import-fresh@^3.1.0: +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: 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== @@ -5234,6 +5326,13 @@ kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +klaw-sync@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" + integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== + dependencies: + graceful-fs "^4.1.11" + kleur@^3.0.0, kleur@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" @@ -5556,7 +5655,7 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -magic-string@^0.25.2, magic-string@^0.25.3: +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== @@ -5867,6 +5966,11 @@ no-case@^3.0.3: lower-case "^2.0.1" tslib "^1.10.0" +node-addon-api@^1.7.1: + version "1.7.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" + integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== + node-environment-flags@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.6.tgz#a30ac13621f6f7d674260a54dede048c3982c088" @@ -6107,7 +6211,7 @@ os-homedir@^1.0.0: resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= -os-tmpdir@^1.0.1: +os-tmpdir@^1.0.1, 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= @@ -6259,6 +6363,24 @@ pascalcase@^0.1.1: resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= +patch-package@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.2.2.tgz#71d170d650c65c26556f0d0fbbb48d92b6cc5f39" + integrity sha512-YqScVYkVcClUY0v8fF0kWOjDYopzIM8e3bj/RU1DPeEF14+dCGm6UeOYm4jvCyxqIEQ5/eJzmbWfDWnUleFNMg== + dependencies: + "@yarnpkg/lockfile" "^1.1.0" + chalk "^2.4.2" + cross-spawn "^6.0.5" + find-yarn-workspace-root "^1.2.1" + fs-extra "^7.0.1" + is-ci "^2.0.0" + klaw-sync "^6.0.0" + minimist "^1.2.0" + rimraf "^2.6.3" + semver "^5.6.0" + slash "^2.0.0" + tmp "^0.0.33" + path-exists@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" @@ -6412,12 +6534,22 @@ prepend-http@^2.0.0: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= -prettier-plugin-svelte@1.1.0, prettier-plugin-svelte@^1.1.0: +prettier-plugin-svelte@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/prettier-plugin-svelte/-/prettier-plugin-svelte-1.1.0.tgz#e6ec282d8457598b0c02164083b11ad8cb8ab304" integrity sha512-wmIggG/ryV0wcmE9D5p+k5TwKDpS2SGKJpF6IV1aYHK7dkBJD+di1w47Ci00DRsI4RrXZRC2Ef37DSyrTb6Zqg== -prettier@2.0.5, prettier@^2.0.5: +prettier-plugin-svelte@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/prettier-plugin-svelte/-/prettier-plugin-svelte-1.2.0.tgz#64088163656470e7d5c83106aea804a1c2c71efb" + integrity sha512-D6Yh8WIk/8BDtJ6BN5vFMylCcdbiQbB2px5UPIiBCp1MbEqpEbVfWyOJPKnVc0xkvlr2CoCRXJcNbHtnh0JM9w== + +prettier@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.1.tgz#d9485dd5e499daa6cb547023b87a6cf51bee37d6" + integrity sha512-9bY+5ZWCfqj3ghYBLxApy2zf6m+NJo5GzmLTpr9FsApsfjriNnS2dahWReHMi7qNPhhHl9SYHJs2cHZLgexNIw== + +prettier@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg== @@ -7259,6 +7391,11 @@ slash@^1.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -7669,7 +7806,7 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@^3.1.0: +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== @@ -7713,57 +7850,47 @@ supports-hyperlinks@^2.0.0: has-flag "^4.0.0" supports-color "^7.0.0" -svelte-check@^0.1.55: - version "0.1.55" - resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-0.1.55.tgz#7e5261123302db4d6ed54a4ab2ed3f4d3cc9fd82" - integrity sha512-jdTmpMe1WLQyciNLZ3/8ApwPmpbKbF0RLu480GDapLp+eAjtVMY1j1afWSUgkc6aeTEvoMA29MnICz+rI6mrYA== +svelte-check@^1.0.31: + version "1.0.31" + resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-1.0.31.tgz#6bcee7b1b7986beb2e1c6435c247949702094e5c" + integrity sha512-bN4KRNV8FjQ4wPkR27N6PEMkbAzsqMfzNh7XRcLrx5z7cmVyIS23PRsyQTNl50W9+vhud0GlZc37AKdPTmpu2Q== dependencies: chalk "^4.0.0" + chokidar "^3.4.1" glob "^7.1.6" minimist "^1.2.5" svelte-language-server "*" vscode-languageserver "6.1.1" vscode-languageserver-protocol "3.15.3" vscode-languageserver-types "3.15.1" - vscode-uri "2.1.1" + vscode-uri "2.1.2" svelte-language-server@*: - version "0.10.74" - resolved "https://registry.yarnpkg.com/svelte-language-server/-/svelte-language-server-0.10.74.tgz#3752415043a119c7ef0437c1f35ea4e7c941cc26" - integrity sha512-IeBP0B0PLP4bahxHeI1/uK+hkAlanbuEYOVRp2RRuwldh0Z4lcMrVmfvmKEMy2kXA4Cvsbw4Cc56D2gU4vAoTw== + version "0.10.110" + resolved "https://registry.yarnpkg.com/svelte-language-server/-/svelte-language-server-0.10.110.tgz#851fc51077764af4ea40cbb06986195fe6faf685" + integrity sha512-jvemRJp9M5I7bXrX4INlIzXptnKnbk1mhowuXPcr0fG5eItkftjY34RBoJNrkg65MxyTUyuuq4fheZ8dYAIYPA== dependencies: cosmiconfig "^6.0.0" estree-walker "^2.0.1" lodash "^4.17.19" - magic-string "^0.25.3" - prettier "2.0.5" - prettier-plugin-svelte "1.1.0" + prettier "2.1.1" + prettier-plugin-svelte "~1.2.0" source-map "^0.7.3" - svelte "3.24.0" - svelte-preprocess "~3.9.11" + svelte "3.24.1" + svelte-preprocess "~4.2.0" svelte2tsx "*" typescript "*" - vscode-css-languageservice "4.1.0" + vscode-css-languageservice "4.2.0" vscode-emmet-helper "1.2.17" vscode-html-languageservice "3.0.4-next.15" vscode-languageserver "6.1.1" vscode-languageserver-types "3.15.1" - vscode-uri "2.1.1" - -svelte-preprocess@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/svelte-preprocess/-/svelte-preprocess-4.0.8.tgz#d283218cd078b91419d7e11371d5f79060d07196" - integrity sha512-RNSwuk8chC9g1MZAkHPM+/LRc2jndBPph26GN3eWNkAVkGwwt6HNskcRkUn30ZW71my1vlhMhk2D5ajVcz8RmA== - dependencies: - "@types/pug" "^2.0.4" - "@types/sass" "^1.16.0" - detect-indent "^6.0.0" - strip-indent "^3.0.0" + vscode-uri "2.1.2" -svelte-preprocess@~3.9.11: - version "3.9.12" - resolved "https://registry.yarnpkg.com/svelte-preprocess/-/svelte-preprocess-3.9.12.tgz#21e8452e45c6a4d89df37a38714af4a0186df3a1" - integrity sha512-OX8a7drmlYcX/bLKbtRTvcc0lYu5Ub78D4B/GVxac2zeyrj1e5vEJU6BsxFbc/8kFDqI6BgsCLZAqsFDr/KrDQ== +svelte-preprocess@^4.0.0, svelte-preprocess@~4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/svelte-preprocess/-/svelte-preprocess-4.2.0.tgz#72c5c232d42e49227e909f07985b67f9191bd3cf" + integrity sha512-UTDmvFiGhAL888TG+zyhcdN1Uy3kj++9Ue7MVJVBoNREHkecFZem7lsCARGIUgUZg7KfFqanD40Op3JAI7kFHA== dependencies: "@types/pug" "^2.0.4" "@types/sass" "^1.16.0" @@ -7778,14 +7905,19 @@ svelte-spa-router@^2.2.0: regexparam "1.3.0" svelte2tsx@*: - version "0.1.60" - resolved "https://registry.yarnpkg.com/svelte2tsx/-/svelte2tsx-0.1.60.tgz#4041e67186280f00b9af8155183d03f9797bfff5" - integrity sha512-T69qVkeMybBSFKc5/0pq+Au498bFYPMiiaIatKOWSL7blg5iEdDzZHFDKMDTuefP3RdctbQIP8HfIgmEfV2TCg== + version "0.1.98" + resolved "https://registry.yarnpkg.com/svelte2tsx/-/svelte2tsx-0.1.98.tgz#2690859278d155a54ccc97fdd3c21403ca8af31a" + integrity sha512-dkCzAyFK9f8BUrr7BIXk5lXEu0ZNriIfdEdKI9wulNdiOa1JgmLKIBKvDqTnkMnxZ8q9wrDRRMvy39AHdDHYfw== dependencies: dedent-js "^1.0.1" pascal-case "^3.1.1" -svelte@3.24.0, svelte@^3.24.0: +svelte@3.24.1: + version "3.24.1" + resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.24.1.tgz#aca364937dd1df27fe131e2a4c234acb6061db4b" + integrity sha512-OX/IBVUJSFo1rnznXdwf9rv6LReJ3qQ0PwRjj76vfUWyTfbHbR9OXqJBnUrpjyis2dwYcbT2Zm1DFjOOF1ZbbQ== + +svelte@^3.24.0: version "3.24.0" resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.24.0.tgz#6565a42c9705796fa66c6abb4fedc09f4323a4a8" integrity sha512-VFXom6EP2DK83kxy4ZlBbaZklSbZIrpNH3oNXlPYHJUuW4q1OuAr3ZoYbfIVTVYPDgrI7Yq0gQcOhDlAtO4qfw== @@ -7907,6 +8039,13 @@ tmp@0.1.0: dependencies: rimraf "^2.6.3" +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" + tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" @@ -8146,10 +8285,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@*, typescript@^3.9.7: - version "3.9.7" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" - integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== +typescript@*, typescript@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.2.tgz#7ea7c88777c723c681e33bf7988be5d008d05ac2" + integrity sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ== uglify-js@^3.1.4: version "3.10.0" @@ -8333,14 +8472,14 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vscode-css-languageservice@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-4.1.0.tgz#144c8274e0bf1719fa6f773ca684bd1c7ffd634f" - integrity sha512-iTX3dTp0Y0RFWhIux5jasI8r9swdiWVB1Z3OrZ10iDHxzkETjVPxAQ5BEQU4ag0Awc8TTg1C7sJriHQY2LO14g== +vscode-css-languageservice@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-4.2.0.tgz#56081374857ce8aa4dd4c98f97e4e10a30b7242f" + integrity sha512-HIjl5bofrrxMMF05K/nq83270EdvteuAIio44FWd6tDdfhgg4vbofiAuXRSpXFi335f5+ekKdrzvPZm9ahqzsg== dependencies: vscode-languageserver-textdocument "^1.0.1" vscode-languageserver-types "^3.15.1" - vscode-nls "^4.1.1" + vscode-nls "^4.1.2" vscode-uri "^2.1.1" vscode-emmet-helper@1.2.17: @@ -8392,17 +8531,12 @@ vscode-languageserver@6.1.1: dependencies: vscode-languageserver-protocol "^3.15.3" -vscode-nls@^4.1.1: +vscode-nls@^4.1.1, vscode-nls@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-4.1.2.tgz#ca8bf8bb82a0987b32801f9fddfdd2fb9fd3c167" integrity sha512-7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw== -vscode-uri@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-2.1.1.tgz#5aa1803391b6ebdd17d047f51365cf62c38f6e90" - integrity sha512-eY9jmGoEnVf8VE8xr5znSah7Qt1P/xsCdErz+g8HYZtJ7bZqKH5E3d+6oVNm1AC/c6IHUDokbmVXKOi4qPAC9A== - -vscode-uri@^2.1.1: +vscode-uri@2.1.2, vscode-uri@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-2.1.2.tgz#c8d40de93eb57af31f3c715dd650e2ca2c096f1c" integrity sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==