diff --git a/CHANGELOG.md b/CHANGELOG.md index f24bc543b7..7bcc280213 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ * Handle `width`/`height` attributes when spreading ([#6752](https://github.com/sveltejs/svelte/issues/6752)) * Add support for resize observer bindings (`
`) ([#8022](https://github.com/sveltejs/svelte/pull/8022)) +* Update interpolated style directive properly when using spread ([#8438](https://github.com/sveltejs/svelte/issues/8438)) +* Remove style directive property when value is `undefined` ([#8462](https://github.com/sveltejs/svelte/issues/8462)) +* Ensure version is typed as `string` instead of the literal `__VERSION__` ([#8498](https://github.com/sveltejs/svelte/issues/8498)) ## 3.58.0 diff --git a/elements/index.d.ts b/elements/index.d.ts index ac32ae94c3..e7ed8901af 100644 --- a/elements/index.d.ts +++ b/elements/index.d.ts @@ -1078,11 +1078,17 @@ export interface SvelteMediaTimeRange { end: number; } +export interface SvelteDocumentAttributes extends HTMLAttributes { + readonly 'bind:fullscreenElement'?: Document['fullscreenElement'] | undefined | null; + readonly 'bind:visibilityState'?: Document['visibilityState'] | undefined | null; +} + export interface SvelteWindowAttributes extends HTMLAttributes { readonly 'bind:innerWidth'?: Window['innerWidth'] | undefined | null; readonly 'bind:innerHeight'?: Window['innerHeight'] | undefined | null; readonly 'bind:outerWidth'?: Window['outerWidth'] | undefined | null; readonly 'bind:outerHeight'?: Window['outerHeight'] | undefined | null; + readonly 'bind:devicePixelRatio'?: Window['devicePixelRatio'] | undefined | null; 'bind:scrollX'?: Window['scrollX'] | undefined | null; 'bind:scrollY'?: Window['scrollY'] | undefined | null; readonly 'bind:online'?: Window['navigator']['onLine'] | undefined | null; @@ -1591,7 +1597,7 @@ export interface SvelteHTMLElements { // Svelte specific 'svelte:window': SvelteWindowAttributes; - 'svelte:document': HTMLAttributes; + 'svelte:document': SvelteDocumentAttributes; 'svelte:body': HTMLAttributes; 'svelte:fragment': { slot?: string }; 'svelte:options': { [name: string]: any }; diff --git a/site/content/docs/02-template-syntax/01-svelte-components.md b/site/content/docs/02-template-syntax/01-svelte-components.md index 7f387a20ab..14c83177c4 100644 --- a/site/content/docs/02-template-syntax/01-svelte-components.md +++ b/site/content/docs/02-template-syntax/01-svelte-components.md @@ -36,7 +36,9 @@ Svelte uses the `export` keyword to mark a variable declaration as a _property_ ``` -You can specify a default initial value for a prop. It will be used if the component's consumer doesn't specify the prop on the component (or if its initial value is `undefined`) when instantiating the component. Note that whenever a prop is removed by the consumer, its value is set to `undefined` rather than the initial value. +--- + +You can specify a default initial value for a prop. It will be used if the component's consumer doesn't specify the prop on the component (or if its initial value is `undefined`) when instantiating the component. Note that if the values of props are subsequently updated, then any prop whose value is not specified will be set to `undefined` (rather than its initial value). In development mode (see the [compiler options](/docs/svelte-compiler#svelte-compile)), a warning will be printed if no default initial value is provided and the consumer does not specify a value. To squelch this warning, ensure that a default initial value is specified, even if it is `undefined`. diff --git a/site/content/docs/02-template-syntax/05-element-directives.md b/site/content/docs/02-template-syntax/05-element-directives.md index 3c3f1e6d86..0f602bf6ea 100644 --- a/site/content/docs/02-template-syntax/05-element-directives.md +++ b/site/content/docs/02-template-syntax/05-element-directives.md @@ -298,6 +298,8 @@ Inputs that work together can use `bind:group`. ``` +> `bind:group` only works if the inputs are in the same Svelte component. + ## bind:this ```svelte diff --git a/site/content/docs/02-template-syntax/07-special-elements.md b/site/content/docs/02-template-syntax/07-special-elements.md index 9aab2cbb98..2c237257b6 100644 --- a/site/content/docs/02-template-syntax/07-special-elements.md +++ b/site/content/docs/02-template-syntax/07-special-elements.md @@ -241,6 +241,7 @@ You can also bind to the following properties: - `scrollX` - `scrollY` - `online` — an alias for `window.navigator.onLine` +- `devicePixelRatio` All except `scrollX` and `scrollY` are readonly. @@ -256,6 +257,10 @@ All except `scrollX` and `scrollY` are readonly. ``` +```svelte + +``` + Similarly to ``, this element allows you to add listeners to events on `document`, such as `visibilitychange`, which don't fire on `window`. It also lets you use [actions](/docs/element-directives#use-action) on `document`. As with ``, this element may only appear the top level of your component and must never be inside a block or element. @@ -267,6 +272,13 @@ As with ``, this element may only appear the top level of your co /> ``` +You can also bind to the following properties: + +- `fullscreenElement` +- `visibilityState` + +All are readonly. + ## `` ```svelte diff --git a/sites/svelte.dev/package-lock.json b/sites/svelte.dev/package-lock.json index 07da8cf4ac..d5495887b7 100644 --- a/sites/svelte.dev/package-lock.json +++ b/sites/svelte.dev/package-lock.json @@ -8,7 +8,7 @@ "name": "svelte.dev", "version": "1.0.0", "dependencies": { - "@supabase/supabase-js": "^2.20.0", + "@supabase/supabase-js": "^2.21.0", "@sveltejs/repl": "^0.4.0", "cookie": "^0.5.0", "devalue": "^4.3.0", @@ -19,784 +19,34 @@ }, "devDependencies": { "@resvg/resvg-js": "^2.4.1", - "@sveltejs/adapter-vercel": "^2.4.2", - "@sveltejs/kit": "^1.15.7", - "@sveltejs/site-kit": "^5.0.3", + "@sveltejs/adapter-vercel": "^2.4.3", + "@sveltejs/kit": "^1.15.9", + "@sveltejs/site-kit": "^5.0.4", "@types/marked": "^4.0.8", - "@types/node": "^18.15.11", - "@types/prismjs": "^1.26.0", + "@types/node": "^18.16.3", "degit": "^2.8.4", "dotenv": "^16.0.3", "jimp": "^0.22.7", "marked": "^4.3.0", "node-fetch": "^3.3.1", - "prettier": "^2.8.7", + "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.0", - "prism-svelte": "^0.5.0", - "prismjs": "^1.29.0", - "rollup": "^3.20.2", + "rollup": "^3.21.2", "rollup-plugin-dts": "^5.3.0", - "sass": "^1.62.0", - "satori": "^0.4.11", + "sass": "^1.62.1", + "satori": "^0.7.3", "satori-html": "^0.3.2", "shelljs": "^0.8.5", - "shiki": "^0.14.1", - "shiki-twoslash": "^3.1.1", + "shiki": "^0.14.2", + "shiki-twoslash": "^3.1.2", "svelte": "^3.58.0", "svelte-check": "^3.2.0", "ts-morph": "^18.0.0", "typescript": "^5.0.4", - "vite": "^4.2.1", + "vite": "^4.3.3", "vite-imagetools": "^4.0.19" } }, - "../../../sveltejs-sites/node_modules/.pnpm/@rollup+browser@3.20.4/node_modules/@rollup/browser": { - "version": "3.20.4", - "license": "MIT" - }, - "../../../sveltejs-sites/node_modules/.pnpm/@sveltejs+adapter-auto@2.0.0_@sveltejs+kit@1.15.6/node_modules/@sveltejs/adapter-auto": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "import-meta-resolve": "^2.2.0" - }, - "devDependencies": { - "@sveltejs/kit": "^1.5.0", - "@types/node": "^16.18.6", - "typescript": "^4.9.4" - }, - "peerDependencies": { - "@sveltejs/kit": "^1.0.0" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/@sveltejs+kit@1.15.6_svelte@3.58.0_vite@4.2.1/node_modules/@sveltejs/kit": { - "version": "1.15.6", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "@sveltejs/vite-plugin-svelte": "^2.0.0", - "@types/cookie": "^0.5.1", - "cookie": "^0.5.0", - "devalue": "^4.3.0", - "esm-env": "^1.0.0", - "kleur": "^4.1.5", - "magic-string": "^0.30.0", - "mime": "^3.0.0", - "sade": "^1.8.1", - "set-cookie-parser": "^2.5.1", - "sirv": "^2.0.2", - "tiny-glob": "^0.2.9", - "undici": "5.20.0" - }, - "bin": { - "svelte-kit": "svelte-kit.js" - }, - "devDependencies": { - "@playwright/test": "^1.29.2", - "@types/connect": "^3.4.35", - "@types/marked": "^4.0.7", - "@types/mime": "^3.0.1", - "@types/node": "^16.18.6", - "@types/sade": "^1.7.4", - "@types/set-cookie-parser": "^2.4.2", - "marked": "^4.2.3", - "rollup": "^3.7.0", - "svelte": "^3.56.0", - "svelte-preprocess": "^5.0.0", - "typescript": "^4.9.4", - "uvu": "^0.5.6", - "vite": "^4.2.0" - }, - "engines": { - "node": "^16.14 || >=18" - }, - "peerDependencies": { - "svelte": "^3.54.0", - "vite": "^4.0.0" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/@sveltejs+package@2.0.2_svelte@3.58.0_typescript@5.0.4/node_modules/@sveltejs/package": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": "^3.5.3", - "kleur": "^4.1.5", - "sade": "^1.8.1", - "svelte2tsx": "~0.6.0" - }, - "bin": { - "svelte-package": "svelte-package.js" - }, - "devDependencies": { - "@types/node": "^16.18.6", - "svelte": "^3.55.1", - "svelte-preprocess": "^5.0.0", - "typescript": "^4.9.4", - "uvu": "^0.5.6" - }, - "engines": { - "node": "^16.14 || >=18" - }, - "peerDependencies": { - "svelte": "^3.44.0" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/@sveltejs+site-kit@5.0.1_@sveltejs+kit@1.15.6_svelte@3.58.0/node_modules/@sveltejs/site-kit": { - "version": "5.0.1", - "license": "MIT", - "dependencies": { - "esm-env": "^1.0.0", - "svelte-local-storage-store": "^0.4.0" - }, - "devDependencies": { - "@sveltejs/kit": "^1.15.5", - "@sveltejs/package": "^2.0.2", - "flexsearch": "^0.7.31", - "svelte": "^3.58.0", - "typescript": "^5.0.4", - "vite": "^4.2.1" - }, - "peerDependencies": { - "@sveltejs/kit": "^1.0.0", - "svelte": "^3.54.0" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/acorn@8.8.2/node_modules/acorn": { - "version": "8.8.2", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/codemirror@5.65.12/node_modules/codemirror": { - "version": "5.65.12", - "license": "MIT", - "devDependencies": { - "@rollup/plugin-buble": "^0.21.3", - "blint": "^1.1.2", - "cm5-vim": "^0.0.5", - "node-static": "0.7.11", - "puppeteer": "^1.20.0", - "rollup": "^1.26.3", - "rollup-plugin-copy": "^3.4.0" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/eslint-config-prettier@8.8.0_eslint@8.38.0/node_modules/eslint-config-prettier": { - "version": "8.8.0", - "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/eslint-plugin-svelte3@4.0.0_eslint@8.38.0_svelte@3.58.0/node_modules/eslint-plugin-svelte3": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "devDependencies": { - "@rollup/plugin-node-resolve": "^13.1.3", - "@typescript-eslint/eslint-plugin": "^5.18.0", - "@typescript-eslint/parser": "^5.18.0", - "eslint": ">=8.0.0", - "rollup": "^2", - "sourcemap-codec": "1.4.8", - "svelte": "^3.2.0", - "typescript": "^4.6.3" - }, - "peerDependencies": { - "eslint": ">=8.0.0", - "svelte": "^3.2.0" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/eslint@8.38.0/node_modules/eslint": { - "version": "8.38.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.2", - "@eslint/js": "8.38.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.4.0", - "espree": "^9.5.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "devDependencies": { - "@babel/core": "^7.4.3", - "@babel/preset-env": "^7.4.3", - "babel-loader": "^8.0.5", - "c8": "^7.12.0", - "chai": "^4.0.1", - "cheerio": "^0.22.0", - "common-tags": "^1.8.0", - "core-js": "^3.1.3", - "ejs": "^3.0.2", - "eslint": "file:.", - "eslint-config-eslint": "file:packages/eslint-config-eslint", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-eslint-plugin": "^4.4.0", - "eslint-plugin-internal-rules": "file:tools/internal-rules", - "eslint-plugin-jsdoc": "^38.1.6", - "eslint-plugin-n": "^15.2.4", - "eslint-plugin-unicorn": "^42.0.0", - "eslint-release": "^3.2.0", - "eslump": "^3.0.0", - "esprima": "^4.0.1", - "fast-glob": "^3.2.11", - "fs-teardown": "^0.1.3", - "glob": "^7.1.6", - "got": "^11.8.3", - "gray-matter": "^4.0.3", - "karma": "^6.1.1", - "karma-chrome-launcher": "^3.1.0", - "karma-mocha": "^2.0.1", - "karma-mocha-reporter": "^2.2.5", - "karma-webpack": "^5.0.0", - "lint-staged": "^11.0.0", - "load-perf": "^0.2.0", - "markdownlint": "^0.25.1", - "markdownlint-cli": "^0.31.1", - "marked": "^4.0.8", - "memfs": "^3.0.1", - "metascraper": "^5.25.7", - "metascraper-description": "^5.25.7", - "metascraper-image": "^5.29.3", - "metascraper-logo": "^5.25.7", - "metascraper-logo-favicon": "^5.25.7", - "metascraper-title": "^5.25.7", - "mocha": "^8.3.2", - "mocha-junit-reporter": "^2.0.0", - "node-polyfill-webpack-plugin": "^1.0.3", - "npm-license": "^0.3.3", - "pirates": "^4.0.5", - "progress": "^2.0.3", - "proxyquire": "^2.0.1", - "puppeteer": "^13.7.0", - "recast": "^0.20.4", - "regenerator-runtime": "^0.13.2", - "semver": "^7.3.5", - "shelljs": "^0.8.2", - "sinon": "^11.0.0", - "temp": "^0.9.0", - "webpack": "^5.23.0", - "webpack-cli": "^4.5.0", - "yorkie": "^2.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/esm-env@1.0.0/node_modules/esm-env": { - "version": "1.0.0", - "license": "MIT" - }, - "../../../sveltejs-sites/node_modules/.pnpm/estree-walker@3.0.3/node_modules/estree-walker": { - "version": "3.0.3", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - }, - "devDependencies": { - "typescript": "^4.9.0", - "uvu": "^0.5.1" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/prettier-plugin-svelte@2.10.0_prettier@2.8.7_svelte@3.58.0/node_modules/prettier-plugin-svelte": { - "version": "2.10.0", - "dev": true, - "license": "MIT", - "devDependencies": { - "@prettier/plugin-pug": "^1.16.0", - "@rollup/plugin-commonjs": "14.0.0", - "@rollup/plugin-node-resolve": "11.0.1", - "@types/node": "^10.12.18", - "@types/prettier": "^2.4.1", - "ava": "3.15.0", - "prettier": "^2.7.1", - "rollup": "2.36.0", - "rollup-plugin-typescript": "1.0.1", - "svelte": "^3.57.0", - "ts-node": "^9.1.1", - "tslib": "^2.0.3", - "typescript": "4.1.3" - }, - "peerDependencies": { - "prettier": "^1.16.4 || ^2.0.0", - "svelte": "^3.2.0" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/prettier@2.8.7/node_modules/prettier": { - "version": "2.8.7", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/resolve.exports@2.0.2/node_modules/resolve.exports": { - "version": "2.0.2", - "license": "MIT", - "devDependencies": { - "bundt": "next", - "tsm": "2.3.0", - "typescript": "4.9.4", - "uvu": "0.5.4" - }, - "engines": { - "node": ">=10" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/svelte-json-tree@1.0.0/node_modules/svelte-json-tree": { - "version": "1.0.0", - "license": "MIT", - "devDependencies": { - "@sveltejs/adapter-static": "next", - "@sveltejs/kit": "next", - "@typescript-eslint/eslint-plugin": "^4.31.1", - "@typescript-eslint/parser": "^4.31.1", - "codemirror": "^5.65.2", - "eslint": "^7.32.0", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-svelte3": "^3.2.1", - "mdsvex": "^0.10.5", - "prettier": "^2.5.1", - "prettier-plugin-svelte": "^2.5.0", - "shiki": "^0.10.1", - "shiki-twoslash": "^3.0.2", - "svelte": "^3.44.0", - "svelte-preprocess": "^4.10.4", - "svelte2tsx": "^0.5.6", - "typescript": "^4.6.3" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/svelte@3.58.0/node_modules/svelte": { - "version": "3.58.0", - "dev": true, - "license": "MIT", - "devDependencies": { - "@ampproject/remapping": "^0.3.0", - "@jridgewell/sourcemap-codec": "^1.4.14", - "@rollup/plugin-commonjs": "^11.0.0", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^5.0.2", - "@rollup/plugin-sucrase": "^3.1.0", - "@rollup/plugin-typescript": "^2.0.1", - "@rollup/plugin-virtual": "^3.0.1", - "@sveltejs/eslint-config": "github:sveltejs/eslint-config#v5.8.0", - "@types/aria-query": "^5.0.1", - "@types/mocha": "^7.0.0", - "@types/node": "^8.10.53", - "@typescript-eslint/eslint-plugin": "^5.29.0", - "@typescript-eslint/parser": "^5.29.0", - "acorn": "^8.8.1", - "agadoo": "^3.0.0", - "aria-query": "^5.1.3", - "axobject-query": "^3.1.1", - "code-red": "^1.0.0", - "css-tree": "^2.3.1", - "eslint": "^8.35.0", - "eslint-plugin-import": "^2.27.0", - "eslint-plugin-svelte3": "^4.0.0", - "estree-walker": "^3.0.3", - "is-reference": "^3.0.1", - "jsdom": "^15.2.1", - "kleur": "^4.1.5", - "locate-character": "^2.0.5", - "magic-string": "^0.30.0", - "mocha": "^7.0.0", - "periscopic": "^3.1.0", - "puppeteer": "^2.0.0", - "rollup": "^1.27.14", - "source-map": "^0.7.4", - "source-map-support": "^0.5.21", - "tiny-glob": "^0.2.9", - "tslib": "^2.5.0", - "typescript": "^3.7.5", - "util": "^0.12.5" - }, - "engines": { - "node": ">= 8" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/svelte2tsx@0.6.11_svelte@3.58.0_typescript@5.0.4/node_modules/svelte2tsx": { - "version": "0.6.11", - "dev": true, - "license": "MIT", - "dependencies": { - "dedent-js": "^1.0.1", - "pascal-case": "^3.1.1" - }, - "devDependencies": { - "@jridgewell/sourcemap-codec": "^1.4.14", - "@jridgewell/trace-mapping": "^0.3.17", - "@rollup/plugin-commonjs": "^24.0.0", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "^15.0.0", - "@rollup/plugin-typescript": "^10.0.0", - "@types/mocha": "^9.1.0", - "@types/node": "^16.0.0", - "@types/unist": "^2.0.3", - "@types/vfile": "^3.0.2", - "magic-string": "^0.27.0", - "mocha": "^9.2.0", - "periscopic": "^2.0.2", - "rollup": "3.7.5", - "rollup-plugin-delete": "^2.0.0", - "source-map-support": "^0.5.16", - "svelte": "~3.57.0", - "tiny-glob": "^0.2.6", - "tslib": "^2.4.0", - "typescript": "^5.0.3" - }, - "peerDependencies": { - "svelte": "^3.55", - "typescript": "^4.9.4 || ^5.0.0" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript": { - "version": "5.0.4", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "devDependencies": { - "@esfx/canceltoken": "^1.0.0", - "@octokit/rest": "latest", - "@types/chai": "^4.3.4", - "@types/fs-extra": "^9.0.13", - "@types/glob": "^8.1.0", - "@types/microsoft__typescript-etw": "^0.1.1", - "@types/minimist": "^1.2.2", - "@types/mocha": "^10.0.1", - "@types/ms": "^0.7.31", - "@types/node": "latest", - "@types/source-map-support": "^0.5.6", - "@types/which": "^2.0.1", - "@typescript-eslint/eslint-plugin": "^5.33.1", - "@typescript-eslint/parser": "^5.33.1", - "@typescript-eslint/utils": "^5.33.1", - "azure-devops-node-api": "^11.2.0", - "chai": "^4.3.7", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "del": "^6.1.1", - "diff": "^5.1.0", - "esbuild": "^0.17.2", - "eslint": "^8.22.0", - "eslint-formatter-autolinkable-stylish": "^1.2.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-local": "^1.0.0", - "eslint-plugin-no-null": "^1.0.2", - "eslint-plugin-simple-import-sort": "^10.0.0", - "fast-xml-parser": "^4.0.11", - "fs-extra": "^9.1.0", - "glob": "^8.1.0", - "hereby": "^1.6.4", - "jsonc-parser": "^3.2.0", - "minimist": "^1.2.8", - "mocha": "^10.2.0", - "mocha-fivemat-progress-reporter": "^0.1.0", - "ms": "^2.1.3", - "node-fetch": "^3.2.10", - "source-map-support": "^0.5.21", - "typescript": "5.0.0-dev.20230112", - "which": "^2.0.2" - }, - "engines": { - "node": ">=12.20" - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/vite@4.2.1/node_modules/vite": { - "version": "4.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.17.5", - "postcss": "^8.4.21", - "resolve": "^1.22.1", - "rollup": "^3.18.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "devDependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/parser": "^7.21.2", - "@babel/types": "^7.21.2", - "@jridgewell/trace-mapping": "^0.3.17", - "@rollup/plugin-alias": "^4.0.3", - "@rollup/plugin-commonjs": "^24.0.1", - "@rollup/plugin-dynamic-import-vars": "^2.0.3", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "15.0.1", - "@rollup/plugin-typescript": "^11.0.0", - "@rollup/pluginutils": "^5.0.2", - "acorn": "^8.8.2", - "acorn-walk": "^8.2.0", - "cac": "^6.7.14", - "chokidar": "^3.5.3", - "connect": "^3.7.0", - "connect-history-api-fallback": "^2.0.0", - "convert-source-map": "^2.0.0", - "cors": "^2.8.5", - "cross-spawn": "^7.0.3", - "debug": "^4.3.4", - "dep-types": "link:./src/types", - "dotenv": "^16.0.3", - "dotenv-expand": "^9.0.0", - "es-module-lexer": "^1.2.0", - "estree-walker": "^3.0.3", - "etag": "^1.8.1", - "fast-glob": "^3.2.12", - "http-proxy": "^1.18.1", - "json-stable-stringify": "^1.0.2", - "launch-editor-middleware": "^2.6.0", - "magic-string": "^0.30.0", - "micromatch": "^4.0.5", - "mlly": "^1.1.1", - "mrmime": "^1.0.1", - "okie": "^1.0.1", - "open": "^8.4.2", - "parse5": "^7.1.2", - "periscopic": "^3.1.0", - "picocolors": "^1.0.0", - "picomatch": "^2.3.1", - "postcss-import": "^15.1.0", - "postcss-load-config": "^4.0.1", - "postcss-modules": "^6.0.0", - "resolve.exports": "^2.0.1", - "rollup-plugin-license": "^3.0.1", - "sirv": "^2.0.2", - "source-map-js": "^1.0.2", - "source-map-support": "^0.5.21", - "strip-ansi": "^7.0.1", - "strip-literal": "^1.0.1", - "tsconfck": "^2.1.0", - "tslib": "^2.5.0", - "types": "link:./types", - "ufo": "^1.1.1", - "ws": "^8.12.1" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "../../../sveltejs-sites/node_modules/.pnpm/yootils@0.3.1/node_modules/yootils": { - "version": "0.3.1", - "license": "MIT", - "devDependencies": { - "agadoo": "^2.0.0", - "esbuild": "^0.12.8", - "prettier": "^2.3.1", - "typescript": "^4.3.2", - "uvu": "^0.5.1" - } - }, - "../../../sveltejs-sites/packages/repl": { - "name": "@sveltejs/repl", - "version": "0.4.0", - "license": "MIT", - "dependencies": { - "@rollup/browser": "^3.20.4", - "@sveltejs/site-kit": "5.0.1", - "acorn": "^8.8.2", - "codemirror": "5.65.12", - "esm-env": "^1.0.0", - "estree-walker": "^3.0.3", - "resolve.exports": "^2.0.2", - "svelte-json-tree": "^1.0.0", - "yootils": "^0.3.1" - }, - "devDependencies": { - "@sveltejs/adapter-auto": "^2.0.0", - "@sveltejs/kit": "^1.15.6", - "@sveltejs/package": "^2.0.2", - "eslint": "^8.38.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-svelte3": "^4.0.0", - "prettier": "^2.8.7", - "prettier-plugin-svelte": "^2.10.0", - "svelte": "^3.58.0", - "svelte2tsx": "^0.6.11", - "typescript": "^5.0.4", - "vite": "^4.2.1" - }, - "peerDependencies": { - "svelte": "^3.50.0" - } - }, - "../../../sveltejs-sites/packages/repl/node_modules/@rollup/browser": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/@rollup+browser@3.20.4/node_modules/@rollup/browser", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/@sveltejs/adapter-auto": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/@sveltejs+adapter-auto@2.0.0_@sveltejs+kit@1.15.6/node_modules/@sveltejs/adapter-auto", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/@sveltejs/kit": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/@sveltejs+kit@1.15.6_svelte@3.58.0_vite@4.2.1/node_modules/@sveltejs/kit", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/@sveltejs/package": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/@sveltejs+package@2.0.2_svelte@3.58.0_typescript@5.0.4/node_modules/@sveltejs/package", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/@sveltejs/site-kit": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/@sveltejs+site-kit@5.0.1_@sveltejs+kit@1.15.6_svelte@3.58.0/node_modules/@sveltejs/site-kit", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/acorn": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/acorn@8.8.2/node_modules/acorn", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/codemirror": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/codemirror@5.65.12/node_modules/codemirror", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/eslint": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/eslint@8.38.0/node_modules/eslint", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/eslint-config-prettier": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/eslint-config-prettier@8.8.0_eslint@8.38.0/node_modules/eslint-config-prettier", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/eslint-plugin-svelte3": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/eslint-plugin-svelte3@4.0.0_eslint@8.38.0_svelte@3.58.0/node_modules/eslint-plugin-svelte3", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/esm-env": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/esm-env@1.0.0/node_modules/esm-env", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/estree-walker": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/estree-walker@3.0.3/node_modules/estree-walker", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/prettier": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/prettier@2.8.7/node_modules/prettier", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/prettier-plugin-svelte": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/prettier-plugin-svelte@2.10.0_prettier@2.8.7_svelte@3.58.0/node_modules/prettier-plugin-svelte", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/resolve.exports": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/resolve.exports@2.0.2/node_modules/resolve.exports", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/svelte": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/svelte@3.58.0/node_modules/svelte", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/svelte-json-tree": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/svelte-json-tree@1.0.0/node_modules/svelte-json-tree", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/svelte2tsx": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/svelte2tsx@0.6.11_svelte@3.58.0_typescript@5.0.4/node_modules/svelte2tsx", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/typescript": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/vite": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/vite@4.2.1/node_modules/vite", - "link": true - }, - "../../../sveltejs-sites/packages/repl/node_modules/yootils": { - "resolved": "../../../sveltejs-sites/node_modules/.pnpm/yootils@0.3.1/node_modules/yootils", - "link": true - }, "node_modules/@babel/code-frame": { "version": "7.21.4", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", @@ -836,13 +86,12 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.17.tgz", - "integrity": "sha512-E6VAZwN7diCa3labs0GYvhEPL2M94WLF8A+czO8hfjREXxba8Ng7nM5VxV+9ihNXIY1iQO1XxUU4P7hbqbICxg==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.18.tgz", + "integrity": "sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==", "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "android" @@ -852,13 +101,12 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.17.tgz", - "integrity": "sha512-jaJ5IlmaDLFPNttv0ofcwy/cfeY4bh/n705Tgh+eLObbGtQBK3EPAu+CzL95JVE4nFAliyrnEu0d32Q5foavqg==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.18.tgz", + "integrity": "sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==", "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "android" @@ -868,13 +116,12 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.17.tgz", - "integrity": "sha512-446zpfJ3nioMC7ASvJB1pszHVskkw4u/9Eu8s5yvvsSDTzYh4p4ZIRj0DznSl3FBF0Z/mZfrKXTtt0QCoFmoHA==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.18.tgz", + "integrity": "sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "android" @@ -884,12 +131,12 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.16.17", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz", + "integrity": "sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==", "cpu": [ "arm64" ], - "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -899,13 +146,12 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.17.tgz", - "integrity": "sha512-4utIrsX9IykrqYaXR8ob9Ha2hAY2qLc6ohJ8c0CN1DR8yWeMrTgYFjgdeQ9LIoTOfLetXjuCu5TRPHT9yKYJVg==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.18.tgz", + "integrity": "sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -915,13 +161,12 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.17.tgz", - "integrity": "sha512-4PxjQII/9ppOrpEwzQ1b0pXCsFLqy77i0GaHodrmzH9zq2/NEhHMAMJkJ635Ns4fyJPFOlHMz4AsklIyRqFZWA==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.18.tgz", + "integrity": "sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==", "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -931,13 +176,12 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.17.tgz", - "integrity": "sha512-lQRS+4sW5S3P1sv0z2Ym807qMDfkmdhUYX30GRBURtLTrJOPDpoU0kI6pVz1hz3U0+YQ0tXGS9YWveQjUewAJw==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.18.tgz", + "integrity": "sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -947,13 +191,12 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.17.tgz", - "integrity": "sha512-biDs7bjGdOdcmIk6xU426VgdRUpGg39Yz6sT9Xp23aq+IEHDb/u5cbmu/pAANpDB4rZpY/2USPhCA+w9t3roQg==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.18.tgz", + "integrity": "sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==", "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "linux" @@ -963,13 +206,12 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.17.tgz", - "integrity": "sha512-2+pwLx0whKY1/Vqt8lyzStyda1v0qjJ5INWIe+d8+1onqQxHLLi3yr5bAa4gvbzhZqBztifYEu8hh1La5+7sUw==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.18.tgz", + "integrity": "sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==", "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -979,13 +221,12 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.17.tgz", - "integrity": "sha512-IBTTv8X60dYo6P2t23sSUYym8fGfMAiuv7PzJ+0LcdAndZRzvke+wTVxJeCq4WgjppkOpndL04gMZIFvwoU34Q==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.18.tgz", + "integrity": "sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==", "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "linux" @@ -995,13 +236,12 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.17.tgz", - "integrity": "sha512-WVMBtcDpATjaGfWfp6u9dANIqmU9r37SY8wgAivuKmgKHE+bWSuv0qXEFt/p3qXQYxJIGXQQv6hHcm7iWhWjiw==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.18.tgz", + "integrity": "sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==", "cpu": [ "loong64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1011,13 +251,12 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.17.tgz", - "integrity": "sha512-2kYCGh8589ZYnY031FgMLy0kmE4VoGdvfJkxLdxP4HJvWNXpyLhjOvxVsYjYZ6awqY4bgLR9tpdYyStgZZhi2A==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.18.tgz", + "integrity": "sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==", "cpu": [ "mips64el" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1027,13 +266,12 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.17.tgz", - "integrity": "sha512-KIdG5jdAEeAKogfyMTcszRxy3OPbZhq0PPsW4iKKcdlbk3YE4miKznxV2YOSmiK/hfOZ+lqHri3v8eecT2ATwQ==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.18.tgz", + "integrity": "sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==", "cpu": [ "ppc64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1043,13 +281,12 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.17.tgz", - "integrity": "sha512-Cj6uWLBR5LWhcD/2Lkfg2NrkVsNb2sFM5aVEfumKB2vYetkA/9Uyc1jVoxLZ0a38sUhFk4JOVKH0aVdPbjZQeA==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.18.tgz", + "integrity": "sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==", "cpu": [ "riscv64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1059,13 +296,12 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.17.tgz", - "integrity": "sha512-lK+SffWIr0XsFf7E0srBjhpkdFVJf3HEgXCwzkm69kNbRar8MhezFpkIwpk0qo2IOQL4JE4mJPJI8AbRPLbuOQ==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.18.tgz", + "integrity": "sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==", "cpu": [ "s390x" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1075,13 +311,12 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.17.tgz", - "integrity": "sha512-XcSGTQcWFQS2jx3lZtQi7cQmDYLrpLRyz1Ns1DzZCtn898cWfm5Icx/DEWNcTU+T+tyPV89RQtDnI7qL2PObPg==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.18.tgz", + "integrity": "sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1091,13 +326,12 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.17.tgz", - "integrity": "sha512-RNLCDmLP5kCWAJR+ItLM3cHxzXRTe4N00TQyQiimq+lyqVqZWGPAvcyfUBM0isE79eEZhIuGN09rAz8EL5KdLA==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.18.tgz", + "integrity": "sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "netbsd" @@ -1107,13 +341,12 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.17.tgz", - "integrity": "sha512-PAXswI5+cQq3Pann7FNdcpSUrhrql3wKjj3gVkmuz6OHhqqYxKvi6GgRBoaHjaG22HV/ZZEgF9TlS+9ftHVigA==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.18.tgz", + "integrity": "sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "openbsd" @@ -1123,13 +356,12 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.17.tgz", - "integrity": "sha512-V63egsWKnx/4V0FMYkr9NXWrKTB5qFftKGKuZKFIrAkO/7EWLFnbBZNM1CvJ6Sis+XBdPws2YQSHF1Gqf1oj/Q==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.18.tgz", + "integrity": "sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "sunos" @@ -1139,13 +371,12 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.17.tgz", - "integrity": "sha512-YtUXLdVnd6YBSYlZODjWzH+KzbaubV0YVd6UxSfoFfa5PtNJNaW+1i+Hcmjpg2nEe0YXUCNF5bkKy1NnBv1y7Q==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.18.tgz", + "integrity": "sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==", "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -1155,13 +386,12 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.17.tgz", - "integrity": "sha512-yczSLRbDdReCO74Yfc5tKG0izzm+lPMYyO1fFTcn0QNwnKmc3K+HdxZWLGKg4pZVte7XVgcFku7TIZNbWEJdeQ==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.18.tgz", + "integrity": "sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==", "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "win32" @@ -1171,13 +401,12 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.17.tgz", - "integrity": "sha512-FNZw7H3aqhF9OyRQbDDnzUApDXfC1N6fgBhkqEO2jvYCJ+DxMTfZVqg3AX0R1khg1wHTBRD5SdcibSJ+XF6bFg==", + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz", + "integrity": "sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -1584,8 +813,7 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "dev": true, + "version": "1.4.15", "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { @@ -1597,6 +825,11 @@ "@jridgewell/sourcemap-codec": "1.4.14" } }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "dev": true, + "license": "MIT" + }, "node_modules/@mapbox/node-pre-gyp": { "version": "1.0.10", "dev": true, @@ -1669,14 +902,12 @@ }, "node_modules/@polka/url": { "version": "1.0.0-next.21", - "dev": true, "license": "MIT" }, "node_modules/@resvg/resvg-js": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@resvg/resvg-js/-/resvg-js-2.4.1.tgz", - "integrity": "sha512-wTOf1zerZX8qYcMmLZw3czR4paI4hXqPjShNwJRh5DeHxvgffUS5KM7XwxtbIheUW6LVYT5fhT2AJiP6mU7U4A==", "dev": true, + "license": "MPL-2.0", "engines": { "node": ">= 10" }, @@ -1695,38 +926,6 @@ "@resvg/resvg-js-win32-x64-msvc": "2.4.1" } }, - "node_modules/@resvg/resvg-js-android-arm-eabi": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm-eabi/-/resvg-js-android-arm-eabi-2.4.1.tgz", - "integrity": "sha512-AA6f7hS0FAPpvQMhBCf6f1oD1LdlqNXKCxAAPpKh6tR11kqV0YIB9zOlIYgITM14mq2YooLFl6XIbbvmY+jwUw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@resvg/resvg-js-android-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm64/-/resvg-js-android-arm64-2.4.1.tgz", - "integrity": "sha512-/QleoRdPfsEuH9jUjilYcDtKK/BkmWcK+1LXM8L2nsnf/CI8EnFyv7ZzCj4xAIvZGAy9dTYr/5NZBcTwxG2HQg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, "node_modules/@resvg/resvg-js-darwin-arm64": { "version": "2.4.1", "cpu": [ @@ -1742,149 +941,10 @@ "node": ">= 10" } }, - "node_modules/@resvg/resvg-js-darwin-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-x64/-/resvg-js-darwin-x64-2.4.1.tgz", - "integrity": "sha512-avyVh6DpebBfHHtTQTZYSr6NG1Ur6TEilk1+H0n7V+g4F7x7WPOo8zL00ZhQCeRQ5H4f8WXNWIEKL8fwqcOkYw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@resvg/resvg-js-linux-arm-gnueabihf": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm-gnueabihf/-/resvg-js-linux-arm-gnueabihf-2.4.1.tgz", - "integrity": "sha512-isY/mdKoBWH4VB5v621co+8l101jxxYjuTkwOLsbW+5RK9EbLciPlCB02M99ThAHzI2MYxIUjXNmNgOW8btXvw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@resvg/resvg-js-linux-arm64-gnu": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-gnu/-/resvg-js-linux-arm64-gnu-2.4.1.tgz", - "integrity": "sha512-uY5voSCrFI8TH95vIYBm5blpkOtltLxLRODyhKJhGfskOI7XkRw5/t1u0sWAGYD8rRSNX+CA+np86otKjubrNg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@resvg/resvg-js-linux-arm64-musl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-musl/-/resvg-js-linux-arm64-musl-2.4.1.tgz", - "integrity": "sha512-6mT0+JBCsermKMdi/O2mMk3m7SqOjwi9TKAwSngRZ/nQoL3Z0Z5zV+572ztgbWr0GODB422uD8e9R9zzz38dRQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@resvg/resvg-js-linux-x64-gnu": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-gnu/-/resvg-js-linux-x64-gnu-2.4.1.tgz", - "integrity": "sha512-60KnrscLj6VGhkYOJEmmzPlqqfcw1keDh6U+vMcNDjPhV3B5vRSkpP/D/a8sfokyeh4VEacPSYkWGezvzS2/mg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@resvg/resvg-js-linux-x64-musl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-musl/-/resvg-js-linux-x64-musl-2.4.1.tgz", - "integrity": "sha512-0AMyZSICC1D7ge115cOZQW8Pcad6PjWuZkBFF3FJuSxC6Dgok0MQnLTs2MfMdKBlAcwO9dXsf3bv9tJZj8pATA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@resvg/resvg-js-win32-arm64-msvc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-arm64-msvc/-/resvg-js-win32-arm64-msvc-2.4.1.tgz", - "integrity": "sha512-76XDFOFSa3d0QotmcNyChh2xHwk+JTFiEQBVxMlHpHMeq7hNrQJ1IpE1zcHSQvrckvkdfLboKRrlGB86B10Qjw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@resvg/resvg-js-win32-ia32-msvc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-ia32-msvc/-/resvg-js-win32-ia32-msvc-2.4.1.tgz", - "integrity": "sha512-odyVFGrEWZIzzJ89KdaFtiYWaIJh9hJRW/frcEcG3agJ464VXkN/2oEVF5ulD+5mpGlug9qJg7htzHcKxDN8sg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@resvg/resvg-js-win32-x64-msvc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-x64-msvc/-/resvg-js-win32-x64-msvc-2.4.1.tgz", - "integrity": "sha512-vY4kTLH2S3bP+puU5x7hlAxHv+ulFgcK6Zn3efKSr0M0KnZ9A3qeAjZteIpkowEFfUeMPNg2dvvoFRJA9zqxSw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } + "node_modules/@rollup/browser": { + "version": "3.21.2", + "resolved": "https://registry.npmjs.org/@rollup/browser/-/browser-3.21.2.tgz", + "integrity": "sha512-0Hde/zXdwf1lbpPkpIbgBCeGeAVEiz00jhU3zKnl50cdb4Wx/VvZBuxiu9i766H0e0HpF3fgdYkaA/vNU4fnjQ==" }, "node_modules/@rollup/pluginutils": { "version": "4.2.1", @@ -1926,7 +986,7 @@ } }, "node_modules/@supabase/gotrue-js": { - "version": "2.22.0", + "version": "2.23.0", "license": "MIT", "dependencies": { "cross-fetch": "^3.1.5" @@ -1956,12 +1016,11 @@ } }, "node_modules/@supabase/supabase-js": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.20.0.tgz", - "integrity": "sha512-6sNX4WEaVBbmOS1K2U3PcpAhp0FcjVo1FRSEoj4N+NZ6DIokX+yut8IBhF176pg5kFCdFIL2wyNhf3SltREmWw==", + "version": "2.21.0", + "license": "MIT", "dependencies": { "@supabase/functions-js": "^2.1.0", - "@supabase/gotrue-js": "^2.22.0", + "@supabase/gotrue-js": "^2.23.0", "@supabase/postgrest-js": "^1.1.1", "@supabase/realtime-js": "^2.7.2", "@supabase/storage-js": "^2.5.1", @@ -1969,26 +1028,25 @@ } }, "node_modules/@sveltejs/adapter-vercel": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-2.4.2.tgz", - "integrity": "sha512-HxItPKrt9DmSbKw2X4XVRYa4J2ueTEfQr79ijDcI/ZUtQ64d4X3ilUnLpmm1nXMBb1DyxaWJF4o8avwiV4O2Hw==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-2.4.3.tgz", + "integrity": "sha512-3k/3udwaioFYdKDAgQcWSByB+KCbtjX+ARonYGCtYE0iuxWLStrESxy3SaU+17XD5Frh8w7tfY8ft4TV3ej3Dg==", "dev": true, "dependencies": { - "@vercel/nft": "^0.22.1", - "esbuild": "^0.16.3" + "@vercel/nft": "^0.22.6", + "esbuild": "^0.17.18" }, "peerDependencies": { "@sveltejs/kit": "^1.5.0" } }, "node_modules/@sveltejs/kit": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.15.7.tgz", - "integrity": "sha512-dgdKExsMJ16X3q8tEcuDlv+QIWAlJcf7IqCU2HWV13nmtTzwSA2n4VtEx9Gy5OGhH0SUAGNIupmlf0TdFSMXbw==", - "dev": true, + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.15.9.tgz", + "integrity": "sha512-Og+4WlguPVPS0PmAHefp4KxvTVZfyDN09aORVXIdKSzqzodSJiLs7Fhi/Q0z0YjmcoNLWF24tI0a6mTusL6Yfg==", "hasInstallScript": true, "dependencies": { - "@sveltejs/vite-plugin-svelte": "^2.0.0", + "@sveltejs/vite-plugin-svelte": "^2.1.1", "@types/cookie": "^0.5.1", "cookie": "^0.5.0", "devalue": "^4.3.0", @@ -2000,7 +1058,7 @@ "set-cookie-parser": "^2.5.1", "sirv": "^2.0.2", "tiny-glob": "^0.2.9", - "undici": "5.20.0" + "undici": "~5.22.0" }, "bin": { "svelte-kit": "svelte-kit.js" @@ -2014,14 +1072,28 @@ } }, "node_modules/@sveltejs/repl": { - "resolved": "../../../sveltejs-sites/packages/repl", - "link": true + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@sveltejs/repl/-/repl-0.4.0.tgz", + "integrity": "sha512-rx0PepYzLaGCQRbRbMUflKhCqz94Yf+4yov9M9+Qgbb07/5a6fKTito8oYrVRhhh+K/fAJz4lEqif80kuTZg1g==", + "dependencies": { + "@rollup/browser": "^3.20.4", + "@sveltejs/site-kit": "5.0.1", + "acorn": "^8.8.2", + "codemirror": "5.65.12", + "esm-env": "^1.0.0", + "estree-walker": "^3.0.3", + "resolve.exports": "^2.0.2", + "svelte-json-tree": "^1.0.0", + "yootils": "^0.3.1" + }, + "peerDependencies": { + "svelte": "^3.50.0" + } }, - "node_modules/@sveltejs/site-kit": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@sveltejs/site-kit/-/site-kit-5.0.3.tgz", - "integrity": "sha512-HA/L3lnsKmLVPdipaxS+MRgcExaF0WxFoHWS/TDhS7kwFcY6ds8Fp10A4Jd7lt2cv+CsyQviWFD2hA0lwE8NOA==", - "dev": true, + "node_modules/@sveltejs/repl/node_modules/@sveltejs/site-kit": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@sveltejs/site-kit/-/site-kit-5.0.1.tgz", + "integrity": "sha512-6LYCxTGzhC/LhObYc3Mazk4HSi/KjdZ+fURpbvi9tppMk4lfGJb3ajLvGoo0k8t0vBEwrN16Hf/JChgkFOorFg==", "dependencies": { "esm-env": "^1.0.0", "svelte-local-storage-store": "^0.4.0" @@ -2031,10 +1103,23 @@ "svelte": "^3.54.0" } }, - "node_modules/@sveltejs/vite-plugin-svelte": { - "version": "2.0.4", + "node_modules/@sveltejs/site-kit": { + "version": "5.0.4", "dev": true, "license": "MIT", + "dependencies": { + "esm-env": "^1.0.0", + "svelte-local-storage-store": "^0.4.0" + }, + "peerDependencies": { + "@sveltejs/kit": "^1.0.0", + "svelte": "^3.54.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.1.1.tgz", + "integrity": "sha512-7YeBDt4us0FiIMNsVXxyaP4Hwyn2/v9x3oqStkHU3ZdIc5O22pGwUwH33wUqYo+7Itdmo8zxJ45Qvfm3H7UUjQ==", "dependencies": { "debug": "^4.3.4", "deepmerge": "^4.3.1", @@ -2094,35 +1179,26 @@ }, "node_modules/@types/cookie": { "version": "0.5.1", - "dev": true, "license": "MIT" }, "node_modules/@types/estree": { "version": "1.0.0", - "dev": true, "license": "MIT" }, "node_modules/@types/marked": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/@types/marked/-/marked-4.0.8.tgz", - "integrity": "sha512-HVNzMT5QlWCOdeuBsgXP8EZzKUf0+AXzN+sLmjvaB3ZlLqO+e4u0uXrdw9ub69wBKFs+c6/pA4r9sy6cCDvImw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/node": { - "version": "18.15.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", - "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==" + "version": "18.16.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz", + "integrity": "sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==" }, "node_modules/@types/phoenix": { "version": "1.5.6", "license": "MIT" }, - "node_modules/@types/prismjs": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.0.tgz", - "integrity": "sha512-ZTaqn/qSqUuAq1YwvOFQfVW1AR/oQJlLSZVustdjwI+GZ8kr0MSHBj0tsXPW1EqHubx50gtBEjbPGsdZwQwCjQ==", - "dev": true - }, "node_modules/@types/pug": { "version": "2.0.6", "dev": true, @@ -2197,7 +1273,6 @@ }, "node_modules/acorn": { "version": "8.8.2", - "dev": true, "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -2267,7 +1342,7 @@ }, "node_modules/anymatch": { "version": "3.1.3", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", @@ -2325,7 +1400,7 @@ }, "node_modules/binary-extensions": { "version": "2.2.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -2365,7 +1440,7 @@ }, "node_modules/braces": { "version": "3.0.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "fill-range": "^7.0.1" @@ -2426,7 +1501,8 @@ }, "node_modules/busboy": { "version": "1.6.0", - "dev": true, + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dependencies": { "streamsearch": "^1.1.0" }, @@ -2467,7 +1543,7 @@ }, "node_modules/chokidar": { "version": "3.5.3", - "dev": true, + "devOptional": true, "funding": [ { "type": "individual", @@ -2505,6 +1581,11 @@ "integrity": "sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==", "dev": true }, + "node_modules/codemirror": { + "version": "5.65.12", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.12.tgz", + "integrity": "sha512-z2jlHBocElRnPYysN2HAuhXbO3DNB0bcSKmNz3hcWR2Js2Dkhc1bEOxG93Z3DeUrnm+qx56XOY5wQmbP5KY0sw==" + }, "node_modules/color": { "version": "4.2.3", "dev": true, @@ -2524,639 +1605,297 @@ "dependencies": { "color-name": "~1.1.4" }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/color-string": { - "version": "1.9.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/color-support": { - "version": "1.1.3", - "dev": true, - "license": "ISC", - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "dev": true, - "license": "ISC" - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "license": "MIT", - "dependencies": { - "node-fetch": "2.6.7" - } - }, - "node_modules/cross-fetch/node_modules/node-fetch": { - "version": "2.6.7", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/css-background-parser": { - "version": "0.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/css-box-shadow": { - "version": "1.0.0-3", - "dev": true, - "license": "MIT" - }, - "node_modules/css-color-keywords": { - "version": "1.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=4" - } - }, - "node_modules/css-to-react-native": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "camelize": "^1.0.0", - "css-color-keywords": "^1.0.0", - "postcss-value-parser": "^4.0.2" - } - }, - "node_modules/d": { - "version": "1.0.1", - "license": "ISC", - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "node_modules/data-uri-to-buffer": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/degit": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/degit/-/degit-2.8.4.tgz", - "integrity": "sha512-vqYuzmSA5I50J882jd+AbAhQtgK6bdKUJIex1JNfEUPENCgYsxugzKVZlFyMwV4i06MmnV47/Iqi5Io86zf3Ng==", - "dev": true, - "bin": { - "degit": "degit" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/detect-indent": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-libc": { - "version": "2.0.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/devalue": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.0.tgz", - "integrity": "sha512-n94yQo4LI3w7erwf84mhRUkUJfhLoCZiLyoOZ/QFsDbcWNZePrLwbQpvZBUG2TNxwV3VjCKPxkiiQA6pe3TrTA==" - }, - "node_modules/do-not-zip": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/do-not-zip/-/do-not-zip-1.0.0.tgz", - "integrity": "sha512-Pgd81ET43bhAGaN2Hq1zluSX1FmD7kl7KcV9ER/lawiLsRUB9pRA5y8r6us29Xk6BrINZETO8TjhYwtwafWUww==" - }, - "node_modules/dom-walk": { - "version": "0.1.2", - "dev": true - }, - "node_modules/dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/emoji-regex": { - "version": "10.2.1", - "dev": true, - "license": "MIT" - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/es5-ext": { - "version": "0.10.62", - "hasInstallScript": true, - "license": "ISC", - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "license": "MIT", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/es6-promise": { - "version": "3.3.1", + "node_modules/color-name": { + "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "license": "ISC", + "node_modules/color-string": { + "version": "1.9.1", + "dev": true, + "license": "MIT", "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "node_modules/esbuild": { - "version": "0.16.17", + "node_modules/color-support": { + "version": "1.1.3", "dev": true, - "hasInstallScript": true, - "license": "MIT", + "license": "ISC", "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.16.17", - "@esbuild/android-arm64": "0.16.17", - "@esbuild/android-x64": "0.16.17", - "@esbuild/darwin-arm64": "0.16.17", - "@esbuild/darwin-x64": "0.16.17", - "@esbuild/freebsd-arm64": "0.16.17", - "@esbuild/freebsd-x64": "0.16.17", - "@esbuild/linux-arm": "0.16.17", - "@esbuild/linux-arm64": "0.16.17", - "@esbuild/linux-ia32": "0.16.17", - "@esbuild/linux-loong64": "0.16.17", - "@esbuild/linux-mips64el": "0.16.17", - "@esbuild/linux-ppc64": "0.16.17", - "@esbuild/linux-riscv64": "0.16.17", - "@esbuild/linux-s390x": "0.16.17", - "@esbuild/linux-x64": "0.16.17", - "@esbuild/netbsd-x64": "0.16.17", - "@esbuild/openbsd-x64": "0.16.17", - "@esbuild/sunos-x64": "0.16.17", - "@esbuild/win32-arm64": "0.16.17", - "@esbuild/win32-ia32": "0.16.17", - "@esbuild/win32-x64": "0.16.17" - } - }, - "node_modules/esbuild/node_modules/@esbuild/android-arm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", - "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" + "color-support": "bin.js" } }, - "node_modules/esbuild/node_modules/@esbuild/android-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", - "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", - "cpu": [ - "arm64" - ], + "node_modules/concat-map": { + "version": "0.0.1", "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/esbuild/node_modules/@esbuild/android-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", - "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", - "cpu": [ - "x64" - ], + "node_modules/console-control-strings": { + "version": "1.1.0", "dev": true, - "optional": true, - "os": [ - "android" - ], + "license": "ISC" + }, + "node_modules/cookie": { + "version": "0.5.0", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">= 0.6" } }, - "node_modules/esbuild/node_modules/@esbuild/darwin-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", - "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" + "node_modules/cross-fetch": { + "version": "3.1.5", + "license": "MIT", + "dependencies": { + "node-fetch": "2.6.7" } }, - "node_modules/esbuild/node_modules/@esbuild/freebsd-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", - "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], + "node_modules/cross-fetch/node_modules/node-fetch": { + "version": "2.6.7", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, "engines": { - "node": ">=12" + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/esbuild/node_modules/@esbuild/freebsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", - "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", - "cpu": [ - "x64" - ], + "node_modules/css-background-parser": { + "version": "0.1.0", "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/esbuild/node_modules/@esbuild/linux-arm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", - "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", - "cpu": [ - "arm" - ], + "node_modules/css-box-shadow": { + "version": "1.0.0-3", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/esbuild/node_modules/@esbuild/linux-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", - "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", - "cpu": [ - "arm64" - ], + "node_modules/css-color-keywords": { + "version": "1.0.0", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "ISC", "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-ia32": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", - "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", - "cpu": [ - "ia32" - ], + "node_modules/css-to-react-native": { + "version": "3.2.0", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "license": "MIT", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-loong64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", - "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", - "cpu": [ - "loong64" - ], + "node_modules/d": { + "version": "1.0.1", + "license": "ISC", + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", "engines": { - "node": ">=12" + "node": ">= 12" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-mips64el": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", - "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/debug": { + "version": "4.3.4", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, "engines": { - "node": ">=12" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/esbuild/node_modules/@esbuild/linux-ppc64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", - "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", - "cpu": [ - "ppc64" - ], + "node_modules/decompress-response": { + "version": "6.0.0", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-riscv64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", - "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", - "cpu": [ - "riscv64" - ], + "node_modules/deep-extend": { + "version": "0.6.0", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=4.0.0" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-s390x": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", - "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", - "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", - "cpu": [ - "x64" - ], + "node_modules/degit": { + "version": "2.8.4", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "bin": { + "degit": "degit" + }, "engines": { - "node": ">=12" + "node": ">=8.0.0" } }, - "node_modules/esbuild/node_modules/@esbuild/netbsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", - "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", - "cpu": [ - "x64" - ], + "node_modules/delegates": { + "version": "1.0.0", "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/esbuild/node_modules/@esbuild/openbsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", - "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", - "cpu": [ - "x64" - ], + "node_modules/detect-indent": { + "version": "6.1.0", "dev": true, - "optional": true, - "os": [ - "openbsd" - ], + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/esbuild/node_modules/@esbuild/sunos-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", - "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", - "cpu": [ - "x64" - ], + "node_modules/detect-libc": { + "version": "2.0.1", "dev": true, - "optional": true, - "os": [ - "sunos" - ], + "license": "Apache-2.0", "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/esbuild/node_modules/@esbuild/win32-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", - "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", - "cpu": [ - "arm64" - ], + "node_modules/devalue": { + "version": "4.3.0", + "license": "MIT" + }, + "node_modules/do-not-zip": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/dom-walk": { + "version": "0.1.2", + "dev": true + }, + "node_modules/dotenv": { + "version": "16.0.3", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "BSD-2-Clause", "engines": { "node": ">=12" } }, - "node_modules/esbuild/node_modules/@esbuild/win32-ia32": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", - "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", - "cpu": [ - "ia32" - ], + "node_modules/emoji-regex": { + "version": "10.2.1", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "MIT" + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/es5-ext": { + "version": "0.10.62", + "hasInstallScript": true, + "license": "ISC", + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + }, "engines": { - "node": ">=12" + "node": ">=0.10" } }, - "node_modules/esbuild/node_modules/@esbuild/win32-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", - "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", - "cpu": [ - "x64" - ], + "node_modules/es6-iterator": { + "version": "2.0.3", + "license": "MIT", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-promise": { + "version": "3.3.1", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "MIT" + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "license": "ISC", + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/esbuild": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz", + "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.18", + "@esbuild/android-arm64": "0.17.18", + "@esbuild/android-x64": "0.17.18", + "@esbuild/darwin-arm64": "0.17.18", + "@esbuild/darwin-x64": "0.17.18", + "@esbuild/freebsd-arm64": "0.17.18", + "@esbuild/freebsd-x64": "0.17.18", + "@esbuild/linux-arm": "0.17.18", + "@esbuild/linux-arm64": "0.17.18", + "@esbuild/linux-ia32": "0.17.18", + "@esbuild/linux-loong64": "0.17.18", + "@esbuild/linux-mips64el": "0.17.18", + "@esbuild/linux-ppc64": "0.17.18", + "@esbuild/linux-riscv64": "0.17.18", + "@esbuild/linux-s390x": "0.17.18", + "@esbuild/linux-x64": "0.17.18", + "@esbuild/netbsd-x64": "0.17.18", + "@esbuild/openbsd-x64": "0.17.18", + "@esbuild/sunos-x64": "0.17.18", + "@esbuild/win32-arm64": "0.17.18", + "@esbuild/win32-ia32": "0.17.18", + "@esbuild/win32-x64": "0.17.18" } }, "node_modules/escape-string-regexp": { @@ -3171,9 +1910,16 @@ }, "node_modules/esm-env": { "version": "1.0.0", - "dev": true, "license": "MIT" }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/exif-parser": { "version": "0.1.12", "dev": true @@ -3278,7 +2024,7 @@ }, "node_modules/fill-range": { "version": "7.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" @@ -3289,13 +2035,11 @@ }, "node_modules/flexsearch": { "version": "0.7.31", - "resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.7.31.tgz", - "integrity": "sha512-XGozTsMPYkm+6b5QL3Z9wQcJjNYxp0CYn3U1gO7dwD6PAqU1SVWZxI9CCg3z+ml3YfqdPnrBehaBrnH2AGKbNA==" + "license": "Apache-2.0" }, "node_modules/flru": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flru/-/flru-1.0.2.tgz", - "integrity": "sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog==", + "license": "MIT", "engines": { "node": ">=6" } @@ -3345,7 +2089,6 @@ }, "node_modules/fsevents": { "version": "2.3.2", - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3414,7 +2157,7 @@ }, "node_modules/glob-parent": { "version": "5.1.2", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "is-glob": "^4.0.1" @@ -3434,12 +2177,10 @@ }, "node_modules/globalyzer": { "version": "0.1.0", - "dev": true, "license": "MIT" }, "node_modules/globrex": { "version": "0.1.2", - "dev": true, "license": "MIT" }, "node_modules/graceful-fs": { @@ -3473,6 +2214,17 @@ "dev": true, "license": "ISC" }, + "node_modules/hex-rgb": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/https-proxy-agent": { "version": "5.0.1", "dev": true, @@ -3530,7 +2282,7 @@ }, "node_modules/immutable": { "version": "4.3.0", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/import-fresh": { @@ -3590,7 +2342,7 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" @@ -3612,7 +2364,7 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -3633,7 +2385,7 @@ }, "node_modules/is-glob": { "version": "4.0.3", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" @@ -3644,7 +2396,7 @@ }, "node_modules/is-number": { "version": "7.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.12.0" @@ -3684,9 +2436,8 @@ }, "node_modules/jimp": { "version": "0.22.7", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.22.7.tgz", - "integrity": "sha512-TJCTJ4ZcFUw6W8XZnR6ajdEu8vSyPi3AuoChs+zLHalXnhAPZgwkzwcXnxey4LNjh1p9dfIUkg8YSQ+q8pBW0A==", "dev": true, + "license": "MIT", "dependencies": { "@jimp/custom": "^0.22.7", "@jimp/plugins": "^0.22.7", @@ -3713,8 +2464,8 @@ }, "node_modules/kleur": { "version": "4.1.5", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", "engines": { "node": ">=6" } @@ -3783,7 +2534,6 @@ }, "node_modules/magic-string": { "version": "0.30.0", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.13" @@ -3816,9 +2566,8 @@ }, "node_modules/marked": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", "dev": true, + "license": "MIT", "bin": { "marked": "bin/marked.js" }, @@ -3848,7 +2597,6 @@ }, "node_modules/mime": { "version": "3.0.0", - "dev": true, "license": "MIT", "bin": { "mime": "cli.js" @@ -3954,7 +2702,6 @@ }, "node_modules/mri": { "version": "1.2.0", - "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -3962,7 +2709,6 @@ }, "node_modules/mrmime": { "version": "1.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -3970,12 +2716,10 @@ }, "node_modules/ms": { "version": "2.1.2", - "dev": true, "license": "MIT" }, "node_modules/nanoid": { "version": "3.3.6", - "dev": true, "funding": [ { "type": "github", @@ -4035,9 +2779,8 @@ }, "node_modules/node-fetch": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.1.tgz", - "integrity": "sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==", "dev": true, + "license": "MIT", "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -4076,7 +2819,7 @@ }, "node_modules/normalize-path": { "version": "3.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -4149,6 +2892,15 @@ "xml2js": "^0.4.5" } }, + "node_modules/parse-css-color": { + "version": "0.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "^1.1.4", + "hex-rgb": "^4.1.0" + } + }, "node_modules/parse-headers": { "version": "2.0.5", "dev": true, @@ -4192,12 +2944,11 @@ }, "node_modules/picocolors": { "version": "1.0.0", - "dev": true, "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=8.6" @@ -4234,8 +2985,9 @@ } }, "node_modules/postcss": { - "version": "8.4.21", - "dev": true, + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", "funding": [ { "type": "opencollective", @@ -4244,11 +2996,14 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -4287,9 +3042,9 @@ } }, "node_modules/prettier": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", - "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, "bin": { "prettier": "bin-prettier.js" @@ -4303,29 +3058,13 @@ }, "node_modules/prettier-plugin-svelte": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-2.10.0.tgz", - "integrity": "sha512-GXMY6t86thctyCvQq+jqElO+MKdB09BkL3hexyGP3Oi8XLKRFaJP1ud/xlWCZ9ZIa2BxHka32zhHfcuU+XsRQg==", "dev": true, + "license": "MIT", "peerDependencies": { "prettier": "^1.16.4 || ^2.0.0", "svelte": "^3.2.0" } }, - "node_modules/prism-svelte": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/prism-svelte/-/prism-svelte-0.5.0.tgz", - "integrity": "sha512-db91Bf3pRGKDPz1lAqLFSJXeW13mulUJxhycysFpfXV5MIK7RgWWK2E5aPAa71s8TCzQUXxF5JOV42/iOs6QkA==", - "dev": true - }, - "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/process": { "version": "0.11.10", "dev": true, @@ -4406,7 +3145,7 @@ }, "node_modules/readdirp": { "version": "3.6.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "picomatch": "^2.2.1" @@ -4454,6 +3193,14 @@ "node": ">=8" } }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "engines": { + "node": ">=10" + } + }, "node_modules/reusify": { "version": "1.0.4", "dev": true, @@ -4478,10 +3225,9 @@ } }, "node_modules/rollup": { - "version": "3.20.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.4.tgz", - "integrity": "sha512-n7J4tuctZXUErM9Uc916httwqmTc63zzCr2+TLCiSCpfO/Xuk3g/marGN1IlRJZi+QF3XMYx75PxXRfZDVgaRw==", - "dev": true, + "version": "3.21.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.2.tgz", + "integrity": "sha512-c4vC+JZ3bbF4Kqq2TtM7zSKtSyMybFOjqmomFax3xpfYaPZDZ4iz8NMIuBRMjnXOcKYozw7bC6vhJjiWD6JpzQ==", "bin": { "rollup": "dist/bin/rollup" }, @@ -4539,7 +3285,6 @@ }, "node_modules/sade": { "version": "1.8.1", - "dev": true, "license": "MIT", "dependencies": { "mri": "^1.1.0" @@ -4601,10 +3346,10 @@ } }, "node_modules/sass": { - "version": "1.62.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.0.tgz", - "integrity": "sha512-Q4USplo4pLYgCi+XlipZCWUQz5pkg/ruSSgJ0WRDSb/+3z9tXUOkQ7QPYn4XrhZKYAK4HlpaQecRwKLJX6+DBg==", - "dev": true, + "version": "1.62.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz", + "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==", + "devOptional": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -4618,9 +3363,9 @@ } }, "node_modules/satori": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/satori/-/satori-0.4.11.tgz", - "integrity": "sha512-Ev8xEkDkURnEz/qWeGLWss3BkbfeoSfB0tXTqijfLrdaOsUyTW4SQmEtvF5atoYw/8GgS1Nq2sJMXX4BXhyFPg==", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/satori/-/satori-0.7.3.tgz", + "integrity": "sha512-EM71DU+XuX0O0b85P7qH38dQovGITS5lK81It/lXAXNjT44b7YlotFU7H0vQ+Njk0WyN/5/bdRPYYCFUKPGWfg==", "dev": true, "dependencies": { "@shuding/opentype.js": "1.4.0-beta.0", @@ -4629,6 +3374,7 @@ "css-to-react-native": "^3.0.0", "emoji-regex": "^10.2.1", "linebreak": "^1.1.0", + "parse-css-color": "^0.2.1", "postcss-value-parser": "^4.2.0", "yoga-wasm-web": "^0.3.3" }, @@ -4638,9 +3384,8 @@ }, "node_modules/satori-html": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/satori-html/-/satori-html-0.3.2.tgz", - "integrity": "sha512-wjTh14iqADFKDK80e51/98MplTGfxz2RmIzh0GqShlf4a67+BooLywF17TvJPD6phO0Hxm7Mf1N5LtRYvdkYRA==", "dev": true, + "license": "MIT", "dependencies": { "ultrahtml": "^1.2.0" } @@ -4671,7 +3416,6 @@ }, "node_modules/set-cookie-parser": { "version": "2.6.0", - "dev": true, "license": "MIT" }, "node_modules/sharp": { @@ -4698,9 +3442,8 @@ }, "node_modules/shelljs": { "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", @@ -4714,9 +3457,9 @@ } }, "node_modules/shiki": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.1.tgz", - "integrity": "sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==", + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.2.tgz", + "integrity": "sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==", "dev": true, "dependencies": { "ansi-sequence-parser": "^1.1.0", @@ -4726,9 +3469,9 @@ } }, "node_modules/shiki-twoslash": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/shiki-twoslash/-/shiki-twoslash-3.1.1.tgz", - "integrity": "sha512-b2j/2yjEjnj0Yav7purKB7uuSbYBf/EQWmu2f7d4G96NiM+Qmr3Tb3UeHY7faN/IEaLW6ip7aQa7MpZNlU5xkQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/shiki-twoslash/-/shiki-twoslash-3.1.2.tgz", + "integrity": "sha512-JBcRIIizi+exIA/OUhYkV6jtyeZco0ykCkIRd5sgwIt1Pm4pz+maoaRZpm6SkhPwvif4fCA7xOtJOykhpIV64Q==", "dev": true, "dependencies": { "@typescript/twoslash": "3.1.0", @@ -4742,9 +3485,8 @@ }, "node_modules/shiki-twoslash/node_modules/shiki": { "version": "0.10.1", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.10.1.tgz", - "integrity": "sha512-VsY7QJVzU51j5o1+DguUd+6vmCmZ5v/6gYu4vyYAhzjuNQU6P/vmSy4uQaOhvje031qQMiW0d2BwgMH52vqMng==", "dev": true, + "license": "MIT", "dependencies": { "jsonc-parser": "^3.0.0", "vscode-oniguruma": "^1.6.1", @@ -4753,9 +3495,8 @@ }, "node_modules/shiki-twoslash/node_modules/vscode-textmate": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz", - "integrity": "sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/signal-exit": { "version": "3.0.7", @@ -4815,7 +3556,6 @@ }, "node_modules/sirv": { "version": "2.0.2", - "dev": true, "license": "MIT", "dependencies": { "@polka/url": "^1.0.0-next.20", @@ -4842,7 +3582,6 @@ }, "node_modules/source-map-js": { "version": "1.0.2", - "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -4856,7 +3595,8 @@ }, "node_modules/streamsearch": { "version": "1.1.0", - "dev": true, + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", "engines": { "node": ">=10.0.0" } @@ -4964,18 +3704,15 @@ }, "node_modules/svelte": { "version": "3.58.0", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.58.0.tgz", - "integrity": "sha512-brIBNNB76mXFmU/Kerm4wFnkskBbluBDCjx/8TcpYRb298Yh2dztS2kQ6bhtjMcvUhd5ynClfwpz5h2gnzdQ1A==", - "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/svelte-check": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.2.0.tgz", - "integrity": "sha512-6ZnscN8dHEN5Eq5LgIzjj07W9nc9myyBH+diXsUAuiY/3rt0l65/LCIQYlIuoFEjp2F1NhXqZiJwV9omPj9tMw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", "chokidar": "^3.4.1", @@ -4995,8 +3732,8 @@ }, "node_modules/svelte-hmr": { "version": "0.15.1", - "dev": true, - "license": "ISC", + "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.1.tgz", + "integrity": "sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==", "engines": { "node": "^12.20 || ^14.13.1 || >= 16" }, @@ -5004,9 +3741,13 @@ "svelte": ">=3.19.0" } }, + "node_modules/svelte-json-tree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svelte-json-tree/-/svelte-json-tree-1.0.0.tgz", + "integrity": "sha512-scs1OdkC8uFpTN4MX0yKkOzZ1/EG3eP1ARC+xcFthXp2IfcwBaXgab0FqA4Am0vQwffNNB+1Gd1LFkJBlynWTA==" + }, "node_modules/svelte-local-storage-store": { "version": "0.4.0", - "dev": true, "license": "MIT", "engines": { "node": ">=0.14" @@ -5152,7 +3893,6 @@ }, "node_modules/tiny-glob": { "version": "0.2.9", - "dev": true, "license": "MIT", "dependencies": { "globalyzer": "0.1.0", @@ -5171,7 +3911,7 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "is-number": "^7.0.0" @@ -5198,7 +3938,6 @@ }, "node_modules/totalist": { "version": "3.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -5242,9 +3981,8 @@ }, "node_modules/typescript": { "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -5259,14 +3997,14 @@ "license": "MIT" }, "node_modules/undici": { - "version": "5.20.0", - "dev": true, - "license": "MIT", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.22.0.tgz", + "integrity": "sha512-fR9RXCc+6Dxav4P9VV/sp5w3eFiSdOjJYsbtWfd4s5L5C4ogyuVpdKIVHeW0vV1MloM65/f7W45nR9ZxwVdyiA==", "dependencies": { "busboy": "^1.6.0" }, "engines": { - "node": ">=12.18" + "node": ">=14.0" } }, "node_modules/unicode-trie": { @@ -5308,15 +4046,13 @@ "license": "MIT" }, "node_modules/vite": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.2.1.tgz", - "integrity": "sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==", - "dev": true, + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.3.tgz", + "integrity": "sha512-MwFlLBO4udZXd+VBcezo3u8mC77YQk+ik+fbc0GZWGgzfbPP+8Kf0fldhARqvSYmtIWoAJ5BXPClUbMTlqFxrA==", "dependencies": { "esbuild": "^0.17.5", - "postcss": "^8.4.21", - "resolve": "^1.22.1", - "rollup": "^3.18.0" + "postcss": "^8.4.23", + "rollup": "^3.21.0" }, "bin": { "vite": "bin/vite.js" @@ -5358,9 +4094,8 @@ }, "node_modules/vite-imagetools": { "version": "4.0.19", - "resolved": "https://registry.npmjs.org/vite-imagetools/-/vite-imagetools-4.0.19.tgz", - "integrity": "sha512-vZaPsjLDgEqZrbj+ZsniRKthmoj4mvVrMOK/FZhRAbrVB4LOsil0BO2Gcq20e/JRlom4DzqtLw1UQUkfcqgCrA==", "dev": true, + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.0.0", "imagetools-core": "^3.3.1" @@ -5371,9 +4106,8 @@ }, "node_modules/vite-imagetools/node_modules/@rollup/pluginutils": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", - "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", @@ -5393,67 +4127,13 @@ }, "node_modules/vite-imagetools/node_modules/estree-walker": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.17.tgz", - "integrity": "sha512-m/gwyiBwH3jqfUabtq3GH31otL/0sE0l34XKpSIqR7NjQ/XHQ3lpmQHLHbG8AHTGCw8Ao059GvV08MS0bhFIJQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/esbuild": { - "version": "0.17.17", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.17.tgz", - "integrity": "sha512-/jUywtAymR8jR4qsa2RujlAF7Krpt5VWi72Q2yuLD4e/hvtNcFQ0I1j8m/bxq238pf3/0KO5yuXNpuLx8BE1KA==", "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.17.17", - "@esbuild/android-arm64": "0.17.17", - "@esbuild/android-x64": "0.17.17", - "@esbuild/darwin-arm64": "0.17.17", - "@esbuild/darwin-x64": "0.17.17", - "@esbuild/freebsd-arm64": "0.17.17", - "@esbuild/freebsd-x64": "0.17.17", - "@esbuild/linux-arm": "0.17.17", - "@esbuild/linux-arm64": "0.17.17", - "@esbuild/linux-ia32": "0.17.17", - "@esbuild/linux-loong64": "0.17.17", - "@esbuild/linux-mips64el": "0.17.17", - "@esbuild/linux-ppc64": "0.17.17", - "@esbuild/linux-riscv64": "0.17.17", - "@esbuild/linux-s390x": "0.17.17", - "@esbuild/linux-x64": "0.17.17", - "@esbuild/netbsd-x64": "0.17.17", - "@esbuild/openbsd-x64": "0.17.17", - "@esbuild/sunos-x64": "0.17.17", - "@esbuild/win32-arm64": "0.17.17", - "@esbuild/win32-ia32": "0.17.17", - "@esbuild/win32-x64": "0.17.17" - } + "license": "MIT" }, "node_modules/vitefu": { "version": "0.2.4", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.4.tgz", + "integrity": "sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==", "peerDependencies": { "vite": "^3.0.0 || ^4.0.0" }, @@ -5597,6 +4277,11 @@ "version": "0.3.3", "dev": true, "license": "MIT" + }, + "node_modules/yootils": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/yootils/-/yootils-0.3.1.tgz", + "integrity": "sha512-A7AMeJfGefk317I/3tBoUYRcDcNavKEkpiPN/nQsBz/viI2GvT7BtrqdPD6rGqBFN8Ax7v4obf+Cl32JF9DDVw==" } } } diff --git a/sites/svelte.dev/package.json b/sites/svelte.dev/package.json index 56f14c1047..01924e119b 100644 --- a/sites/svelte.dev/package.json +++ b/sites/svelte.dev/package.json @@ -17,7 +17,7 @@ "test": "uvu -r ts-node/register src/lib/server/markdown" }, "dependencies": { - "@supabase/supabase-js": "^2.20.0", + "@supabase/supabase-js": "^2.21.0", "@sveltejs/repl": "^0.4.0", "cookie": "^0.5.0", "devalue": "^4.3.0", @@ -28,34 +28,31 @@ }, "devDependencies": { "@resvg/resvg-js": "^2.4.1", - "@sveltejs/adapter-vercel": "^2.4.2", - "@sveltejs/kit": "^1.15.7", - "@sveltejs/site-kit": "^5.0.3", + "@sveltejs/adapter-vercel": "^2.4.3", + "@sveltejs/kit": "^1.15.9", + "@sveltejs/site-kit": "^5.0.4", "@types/marked": "^4.0.8", - "@types/node": "^18.15.11", - "@types/prismjs": "^1.26.0", + "@types/node": "^18.16.3", "degit": "^2.8.4", "dotenv": "^16.0.3", "jimp": "^0.22.7", "marked": "^4.3.0", "node-fetch": "^3.3.1", - "prettier": "^2.8.7", + "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.0", - "prism-svelte": "^0.5.0", - "prismjs": "^1.29.0", - "rollup": "^3.20.2", + "rollup": "^3.21.2", "rollup-plugin-dts": "^5.3.0", - "sass": "^1.62.0", - "satori": "^0.4.11", + "sass": "^1.62.1", + "satori": "^0.7.3", "satori-html": "^0.3.2", "shelljs": "^0.8.5", - "shiki": "^0.14.1", - "shiki-twoslash": "^3.1.1", + "shiki": "^0.14.2", + "shiki-twoslash": "^3.1.2", "svelte": "^3.58.0", "svelte-check": "^3.2.0", "ts-morph": "^18.0.0", "typescript": "^5.0.4", - "vite": "^4.2.1", + "vite": "^4.3.3", "vite-imagetools": "^4.0.19" } } diff --git a/sites/svelte.dev/vite.config.js b/sites/svelte.dev/vite.config.js index f8d12e4baf..626bf8a8ec 100644 --- a/sites/svelte.dev/vite.config.js +++ b/sites/svelte.dev/vite.config.js @@ -50,22 +50,6 @@ const config = { fs: { strict: false } - }, - // !HACK: Remove once vite 4.3 is out - worker: { - plugins: [ - { - name: 'remove-manifest', - configResolved(c) { - const manifestPlugin = c.worker.plugins.findIndex((p) => p.name === 'vite:manifest'); - c.worker.plugins.splice(manifestPlugin, 1); - const ssrManifestPlugin = c.worker.plugins.findIndex( - (p) => p.name === 'vite:ssr-manifest' - ); - c.plugins.splice(ssrManifestPlugin, 1); - } - } - ] } }; diff --git a/src/compiler/compile/nodes/Binding.ts b/src/compiler/compile/nodes/Binding.ts index 303506222f..f655554c81 100644 --- a/src/compiler/compile/nodes/Binding.ts +++ b/src/compiler/compile/nodes/Binding.ts @@ -9,6 +9,7 @@ import { TemplateNode } from '../../interfaces'; import Element from './Element'; import InlineComponent from './InlineComponent'; import Window from './Window'; +import Document from './Document'; import { clone } from '../../utils/clone'; import compiler_errors from '../compiler_errors'; import compiler_warnings from '../compiler_warnings'; @@ -36,7 +37,7 @@ export default class Binding extends Node { is_contextual: boolean; is_readonly: boolean; - constructor(component: Component, parent: Element | InlineComponent | Window, scope: TemplateScope, info: TemplateNode) { + constructor(component: Component, parent: Element | InlineComponent | Window | Document, scope: TemplateScope, info: TemplateNode) { super(component, parent, scope, info); if (info.expression.type !== 'Identifier' && info.expression.type !== 'MemberExpression') { diff --git a/src/compiler/compile/nodes/Document.ts b/src/compiler/compile/nodes/Document.ts index 653ccb627b..60264aa40e 100644 --- a/src/compiler/compile/nodes/Document.ts +++ b/src/compiler/compile/nodes/Document.ts @@ -1,14 +1,24 @@ import Node from './shared/Node'; +import Binding from './Binding'; import EventHandler from './EventHandler'; +import fuzzymatch from '../../utils/fuzzymatch'; import Action from './Action'; import Component from '../Component'; +import list from '../../utils/list'; import TemplateScope from './shared/TemplateScope'; import { Element } from '../../interfaces'; import compiler_warnings from '../compiler_warnings'; +import compiler_errors from '../compiler_errors'; + +const valid_bindings = [ + 'fullscreenElement', + 'visibilityState' +]; export default class Document extends Node { type: 'Document'; handlers: EventHandler[] = []; + bindings: Binding[] = []; actions: Action[] = []; constructor(component: Component, parent: Node, scope: TemplateScope, info: Element) { @@ -17,6 +27,17 @@ export default class Document extends Node { info.attributes.forEach((node) => { if (node.type === 'EventHandler') { this.handlers.push(new EventHandler(component, this, scope, node)); + } else if (node.type === 'Binding') { + if (!~valid_bindings.indexOf(node.name)) { + const match = fuzzymatch(node.name, valid_bindings); + if (match) { + return component.error(node, compiler_errors.invalid_binding_on(node.name, '', ` (did you mean '${match}'?)`)); + } else { + return component.error(node, compiler_errors.invalid_binding_on(node.name, '', ` — valid bindings are ${list(valid_bindings)}`)); + } + } + + this.bindings.push(new Binding(component, this, scope, node)); } else if (node.type === 'Action') { this.actions.push(new Action(component, this, scope, node)); } else { diff --git a/src/compiler/compile/nodes/Element.ts b/src/compiler/compile/nodes/Element.ts index 2410904d63..44d84f7566 100644 --- a/src/compiler/compile/nodes/Element.ts +++ b/src/compiler/compile/nodes/Element.ts @@ -121,6 +121,7 @@ const a11y_implicit_semantics = new Map([ ['details', 'group'], ['dt', 'term'], ['fieldset', 'group'], + ['figure', 'figure'], ['form', 'form'], ['h1', 'heading'], ['h2', 'heading'], @@ -132,6 +133,7 @@ const a11y_implicit_semantics = new Map([ ['img', 'img'], ['li', 'listitem'], ['link', 'link'], + ['main', 'main'], ['menu', 'list'], ['meter', 'progressbar'], ['nav', 'navigation'], @@ -142,6 +144,7 @@ const a11y_implicit_semantics = new Map([ ['progress', 'progressbar'], ['section', 'region'], ['summary', 'button'], + ['table', 'table'], ['tbody', 'rowgroup'], ['textarea', 'textbox'], ['tfoot', 'rowgroup'], @@ -631,9 +634,7 @@ export default class Element extends Node { } // no-redundant-roles - const has_redundant_role = current_role === get_implicit_role(this.name, attribute_map); - - if (this.name === current_role || has_redundant_role) { + if (current_role === get_implicit_role(this.name, attribute_map)) { component.warn(attribute, compiler_warnings.a11y_no_redundant_roles(current_role)); } diff --git a/src/compiler/compile/nodes/Window.ts b/src/compiler/compile/nodes/Window.ts index c5bec0acd3..2f8a015d8a 100644 --- a/src/compiler/compile/nodes/Window.ts +++ b/src/compiler/compile/nodes/Window.ts @@ -17,6 +17,7 @@ const valid_bindings = [ 'outerHeight', 'scrollX', 'scrollY', + 'devicePixelRatio', 'online' ]; diff --git a/src/compiler/compile/render_dom/wrappers/Document.ts b/src/compiler/compile/render_dom/wrappers/Document.ts index 4f7c86c54f..0a9565e64c 100644 --- a/src/compiler/compile/render_dom/wrappers/Document.ts +++ b/src/compiler/compile/render_dom/wrappers/Document.ts @@ -1,6 +1,6 @@ import Block from '../Block'; import Wrapper from './shared/Wrapper'; -import { x } from 'code-red'; +import { b, x } from 'code-red'; import Document from '../../nodes/Document'; import { Identifier } from 'estree'; import EventHandler from './Element/EventHandler'; @@ -9,6 +9,16 @@ import { TemplateNode } from '../../../interfaces'; import Renderer from '../Renderer'; import add_actions from './shared/add_actions'; +const associated_events = { + fullscreenElement: ['fullscreenchange'], + visibilityState: ['visibilitychange'] +}; + +const readonly = new Set([ + 'fullscreenElement', + 'visibilityState' +]); + export default class DocumentWrapper extends Wrapper { node: Document; handlers: EventHandler[]; @@ -19,7 +29,66 @@ export default class DocumentWrapper extends Wrapper { } render(block: Block, _parent_node: Identifier, _parent_nodes: Identifier) { + const { renderer } = this; + const { component } = renderer; + + const events: Record> = {}; + const bindings: Record = {}; + add_event_handlers(block, x`@_document`, this.handlers); add_actions(block, x`@_document`, this.node.actions); + + this.node.bindings.forEach(binding => { + // TODO: what if it's a MemberExpression? + const binding_name = (binding.expression.node as Identifier).name; + + // in dev mode, throw if read-only values are written to + if (readonly.has(binding.name)) { + renderer.readonly.add(binding_name); + } + + bindings[binding.name] = binding_name; + + const binding_events = associated_events[binding.name]; + const property = binding.name; + + binding_events.forEach(associated_event => { + if (!events[associated_event]) events[associated_event] = []; + events[associated_event].push({ + name: binding_name, + value: property + }); + }); + }); + + Object.keys(events).forEach(event => { + const id = block.get_unique_name(`ondocument${event}`); + const props = events[event]; + + renderer.add_to_context(id.name); + const fn = renderer.reference(id.name); + + props.forEach(prop => { + renderer.meta_bindings.push( + b`this._state.${prop.name} = @_document.${prop.value};` + ); + }); + + block.event_listeners.push(x` + @listen(@_document, "${event}", ${fn}) + `); + + component.partly_hoisted.push(b` + function ${id}() { + ${props.map(prop => renderer.invalidate(prop.name, x`${prop.name} = @_document.${prop.value}`))} + } + `); + + block.chunks.init.push(b` + @add_render_callback(${fn}); + `); + + component.has_reactive_assignments = true; + }); } } diff --git a/src/compiler/compile/render_dom/wrappers/Element/index.ts b/src/compiler/compile/render_dom/wrappers/Element/index.ts index cefebfcff3..e2c0ece733 100644 --- a/src/compiler/compile/render_dom/wrappers/Element/index.ts +++ b/src/compiler/compile/render_dom/wrappers/Element/index.ts @@ -1240,19 +1240,27 @@ export default class ElementWrapper extends Wrapper { block.chunks.hydrate.push(updater); + const self_deps = expression.dynamic_dependencies(); + const all_deps = new Set([ + ...self_deps, + ...this.dynamic_style_dependencies + ]); + + let condition = block.renderer.dirty([...all_deps]); + // Assume that style has changed through the spread attribute if (has_spread) { + if (should_cache && all_deps.size) { + // Update the cached value + block.chunks.update.push(b` + if (${condition}) { + ${cached_snippet} = ${snippet}; + }` + ); + } block.chunks.update.push(updater); } else { - const self_deps = expression.dynamic_dependencies(); - const all_deps = new Set([ - ...self_deps, - ...this.dynamic_style_dependencies - ]); - - if (all_deps.size === 0) return; - - let condition = block.renderer.dirty([...all_deps]); + if (all_deps.size === 0) return; if (should_cache) { condition = x`${condition} && ${cached_snippet} !== (${cached_snippet} = ${snippet})`; diff --git a/src/compiler/compile/render_dom/wrappers/Window.ts b/src/compiler/compile/render_dom/wrappers/Window.ts index c98af18268..9e58bbcaad 100644 --- a/src/compiler/compile/render_dom/wrappers/Window.ts +++ b/src/compiler/compile/render_dom/wrappers/Window.ts @@ -14,6 +14,7 @@ const associated_events = { innerHeight: 'resize', outerWidth: 'resize', outerHeight: 'resize', + devicePixelRatio: 'resize', scrollX: 'scroll', scrollY: 'scroll' @@ -29,6 +30,7 @@ const readonly = new Set([ 'innerHeight', 'outerWidth', 'outerHeight', + 'devicePixelRatio', 'online' ]); diff --git a/src/compiler/index.ts b/src/compiler/index.ts index 76eb45d37f..57277ac756 100644 --- a/src/compiler/index.ts +++ b/src/compiler/index.ts @@ -3,5 +3,5 @@ export { default as parse } from './parse/index'; export { default as preprocess } from './preprocess/index'; export { walk } from 'estree-walker'; -export const VERSION = '__VERSION__'; +export const VERSION: string = '__VERSION__'; // additional exports added through generate-type-definitions.js diff --git a/src/runtime/internal/dom.ts b/src/runtime/internal/dom.ts index c025313c15..066fa6eb1c 100644 --- a/src/runtime/internal/dom.ts +++ b/src/runtime/internal/dom.ts @@ -307,7 +307,7 @@ export function attr(node: Element, attribute: string, value?: string) { else if (node.getAttribute(attribute) !== value) node.setAttribute(attribute, value); } -/** +/** * List of attributes that should always be set through the attr method, * because updating them through the property setter doesn't work reliably. * In the example of `width`/`height`, the problem is that the setter only @@ -641,7 +641,7 @@ export function set_input_type(input, type) { } export function set_style(node, key, value, important) { - if (value === null) { + if (value == null) { node.style.removeProperty(key); } else { node.style.setProperty(key, value, important ? 'important' : ''); diff --git a/src/runtime/store/index.ts b/src/runtime/store/index.ts index 67c2bcb15c..e5184eb25b 100644 --- a/src/runtime/store/index.ts +++ b/src/runtime/store/index.ts @@ -12,8 +12,15 @@ export type Updater = (value: T) => T; /** Cleanup logic callback. */ type Invalidator = (value?: T) => void; -/** Start and stop notification callbacks. */ -export type StartStopNotifier = (set: Subscriber) => Unsubscriber | void; +/** + * Start and stop notification callbacks. + * This function is called when the first subscriber subscribes. + * + * @param {(value: T) => void} set Function that sets the value of the store. + * @returns {void | (() => void)} Optionally, a cleanup function that is called when the last remaining + * subscriber unsubscribes. + */ +export type StartStopNotifier = (set: (value: T) => void) => void | (() => void); /** Readable interface for subscribing. */ export interface Readable { @@ -48,7 +55,7 @@ const subscriber_queue = []; /** * Creates a `Readable` store that allows reading by subscription. * @param value initial value - * @param {StartStopNotifier}start start and stop notifications for subscriptions + * @param {StartStopNotifier} [start] */ export function readable(value?: T, start?: StartStopNotifier): Readable { return { @@ -59,7 +66,7 @@ export function readable(value?: T, start?: StartStopNotifier): Readable(value?: T, start: StartStopNotifier = noop): Writable { let stop: Unsubscriber; diff --git a/test/runtime-puppeteer/samples/inline-style-directive-update-with-spread/_config.js b/test/runtime-puppeteer/samples/inline-style-directive-update-with-spread/_config.js new file mode 100644 index 0000000000..af1030c25a --- /dev/null +++ b/test/runtime-puppeteer/samples/inline-style-directive-update-with-spread/_config.js @@ -0,0 +1,18 @@ +export default { + html: ` +
+ `, + + test({ assert, target, window, component }) { + const div = target.querySelector('div'); + const styles = window.getComputedStyle(div); + assert.equal(styles.backgroundColor, 'rgb(255, 0, 0)'); + + { + component.backgroundColor = 128; + const div = target.querySelector('div'); + const styles = window.getComputedStyle(div); + assert.equal(styles.backgroundColor, 'rgb(128, 0, 0)'); + } + } +}; diff --git a/test/runtime-puppeteer/samples/inline-style-directive-update-with-spread/main.svelte b/test/runtime-puppeteer/samples/inline-style-directive-update-with-spread/main.svelte new file mode 100644 index 0000000000..4f44ae2e67 --- /dev/null +++ b/test/runtime-puppeteer/samples/inline-style-directive-update-with-spread/main.svelte @@ -0,0 +1,5 @@ + + +
diff --git a/test/runtime/samples/document-binding-fullscreen/_config.js b/test/runtime/samples/document-binding-fullscreen/_config.js new file mode 100644 index 0000000000..154ec0445a --- /dev/null +++ b/test/runtime/samples/document-binding-fullscreen/_config.js @@ -0,0 +1,31 @@ +export default { + before_test() { + Object.defineProperties(window.document, { + fullscreenElement: { + value: null, + configurable: true + } + }); + }, + + // copied from window-binding + // there's some kind of weird bug with this test... it compiles with the wrong require.extensions hook for some bizarre reason + skip_if_ssr: true, + + async test({ assert, target, window, component }) { + const event = new window.Event('fullscreenchange'); + + const div = target.querySelector('div'); + + Object.defineProperties(window.document, { + fullscreenElement: { + value: div, + configurable: true + } + }); + + window.document.dispatchEvent(event); + + assert.equal(component.fullscreen, div); + } +}; diff --git a/test/runtime/samples/document-binding-fullscreen/main.svelte b/test/runtime/samples/document-binding-fullscreen/main.svelte new file mode 100644 index 0000000000..5b00199821 --- /dev/null +++ b/test/runtime/samples/document-binding-fullscreen/main.svelte @@ -0,0 +1,7 @@ + + + + +
\ No newline at end of file diff --git a/test/runtime/samples/inline-style-become-undefined/_config.js b/test/runtime/samples/inline-style-become-undefined/_config.js new file mode 100644 index 0000000000..a2a0727efa --- /dev/null +++ b/test/runtime/samples/inline-style-become-undefined/_config.js @@ -0,0 +1,11 @@ +export default { + async test({ assert, target, window }) { + const div = target.querySelector('div'); + const click = new window.MouseEvent('click'); + + assert.htmlEqual(target.innerHTML, '
'); + await div.dispatchEvent(click); + await Promise.resolve(); + assert.htmlEqual(target.innerHTML, '
'); + } +}; diff --git a/test/runtime/samples/inline-style-become-undefined/main.svelte b/test/runtime/samples/inline-style-become-undefined/main.svelte new file mode 100644 index 0000000000..ee38934fc7 --- /dev/null +++ b/test/runtime/samples/inline-style-become-undefined/main.svelte @@ -0,0 +1,9 @@ + + +
diff --git a/test/runtime/samples/window-binding-resize/_config.js b/test/runtime/samples/window-binding-resize/_config.js index c99e92a07b..d7f0282147 100644 --- a/test/runtime/samples/window-binding-resize/_config.js +++ b/test/runtime/samples/window-binding-resize/_config.js @@ -1,5 +1,5 @@ export default { - html: '
1024x768
', + html: '
1024x768
1
', before_test() { Object.defineProperties(window, { @@ -10,6 +10,10 @@ export default { innerHeight: { value: 768, configurable: true + }, + devicePixelRatio: { + value: 1, + configurable: true } }); }, @@ -27,13 +31,17 @@ export default { innerHeight: { value: 456, configurable: true + }, + devicePixelRatio: { + value: 2, + configurable: true } }); await window.dispatchEvent(event); assert.htmlEqual(target.innerHTML, ` -
567x456
+
567x456
2
`); } }; diff --git a/test/runtime/samples/window-binding-resize/main.svelte b/test/runtime/samples/window-binding-resize/main.svelte index 405f4e6e23..8ece184416 100644 --- a/test/runtime/samples/window-binding-resize/main.svelte +++ b/test/runtime/samples/window-binding-resize/main.svelte @@ -1,8 +1,10 @@ - + -
{width}x{height}
\ No newline at end of file +
{width}x{height}
+
{devicePixelRatio}
diff --git a/test/validator/samples/a11y-no-redundant-roles/input.svelte b/test/validator/samples/a11y-no-redundant-roles/input.svelte index 05525effb6..537d5c0fd3 100644 --- a/test/validator/samples/a11y-no-redundant-roles/input.svelte +++ b/test/validator/samples/a11y-no-redundant-roles/input.svelte @@ -41,4 +41,8 @@
-
\ No newline at end of file +
+ + + + diff --git a/test/validator/samples/window-binding-invalid/errors.json b/test/validator/samples/window-binding-invalid/errors.json index 1277984258..04ecbaafcd 100644 --- a/test/validator/samples/window-binding-invalid/errors.json +++ b/test/validator/samples/window-binding-invalid/errors.json @@ -1,6 +1,6 @@ [{ "code": "invalid-binding", - "message": "'potato' is not a valid binding on — valid bindings are innerWidth, innerHeight, outerWidth, outerHeight, scrollX, scrollY or online", + "message": "'potato' is not a valid binding on — valid bindings are innerWidth, innerHeight, outerWidth, outerHeight, scrollX, scrollY, devicePixelRatio or online", "start": { "line": 1, "column": 15