From fef6ad765de1a0874dfc8f58121bfc4b41375b03 Mon Sep 17 00:00:00 2001 From: dominikg Date: Wed, 9 Jun 2021 14:55:42 +0200 Subject: [PATCH 1/6] feat: convert to esm with cjs fallback --- .github/workflows/ci.yml | 6 +- .gitignore | 57 +- .pnpmfile.cjs | 13 +- package.json | 29 +- .../autoprefixer-browerslist/.gitignore | 4 - .../autoprefixer-browerslist/package.json | 2 +- .../autoprefixer-browerslist/vite.config.js | 2 +- packages/playground/big/.gitignore | 7 - packages/playground/big/package.json | 2 +- packages/playground/big/vite.config.js | 2 +- .../playground/configfile-custom/.gitignore | 4 - .../playground/configfile-custom/package.json | 2 +- .../configfile-custom/vite.config.js | 2 +- packages/playground/configfile-esm/.gitignore | 4 - .../playground/configfile-esm/package.json | 2 +- .../default-svelte-template-ts/.gitignore | 4 - .../.vscode/extensions.json | 3 - .../default-svelte-template-ts/package.json | 2 +- .../default-svelte-template-ts/vite.config.js | 2 +- .../default-svelte-template/.gitignore | 4 - .../default-svelte-template/package.json | 2 +- .../default-svelte-template/vite.config.js | 2 +- .../playground/hmr-test-dependency/svelte.js | 2 - packages/playground/hmr/.gitignore | 4 - packages/playground/hmr/package.json | 2 +- packages/playground/hmr/vite.config.js | 2 +- packages/playground/kit-node/.gitignore | 5 - .../package-json-svelte-field/README.md | 10 + .../package-json-svelte-field.spec.ts | 5 + .../package-json-svelte-field/index.html | 15 + .../package-json-svelte-field/package.json | 18 + .../public/favicon.png | Bin 0 -> 3127 bytes .../package-json-svelte-field/src/App.svelte | 6 + .../package-json-svelte-field/src/main.js | 7 + .../package-json-svelte-field/vite.config.js | 12 + .../preprocess-with-vite/.gitignore | 6 - .../preprocess-with-vite/package.json | 2 +- .../preprocess-with-vite/vite.config.js | 2 +- .../playground/svelte-preprocess/.gitignore | 5 - .../playground/svelte-preprocess/package.json | 2 +- .../svelte-preprocess/vite.config.js | 2 +- .../test-dependency-svelte-field/package.json | 13 + .../src/components/Message.svelte | 6 + .../src/components/svelte.js | 2 + .../playground/ts-type-import/package.json | 4 +- .../playground/ts-type-import/vite.config.js | 2 +- packages/playground/vite-ssr/package.json | 2 +- packages/playground/vite-ssr/vite.config.js | 2 +- packages/playground/windicss/.gitignore | 6 - packages/playground/windicss/package.json | 6 +- packages/playground/windicss/vite.config.js | 2 +- packages/vite-plugin-svelte/README.md | 19 +- .../vite-plugin-svelte/api-extractor.json | 53 -- packages/vite-plugin-svelte/package.json | 115 +-- .../scripts/build-bundle.js | 32 - ...andleHotUpdate.ts => handle-hot-update.ts} | 9 +- packages/vite-plugin-svelte/src/index.ts | 57 +- ...dSvelteConfig.ts => load-svelte-config.ts} | 2 +- packages/vite-plugin-svelte/src/utils/log.ts | 36 +- .../vite-plugin-svelte/src/utils/options.ts | 4 +- .../src/utils/preprocess.ts | 2 +- .../vite-plugin-svelte/src/utils/resolve.ts | 29 + ...teCache.ts => vite-plugin-svelte-cache.ts} | 0 .../vite-plugin-svelte/src/utils/watch.ts | 2 +- packages/vite-plugin-svelte/tsconfig.json | 4 +- pnpm-lock.yaml | 667 +++++++++--------- 66 files changed, 684 insertions(+), 656 deletions(-) delete mode 100644 packages/playground/autoprefixer-browerslist/.gitignore delete mode 100644 packages/playground/big/.gitignore delete mode 100644 packages/playground/configfile-custom/.gitignore delete mode 100644 packages/playground/configfile-esm/.gitignore delete mode 100644 packages/playground/default-svelte-template-ts/.gitignore delete mode 100644 packages/playground/default-svelte-template-ts/.vscode/extensions.json delete mode 100644 packages/playground/default-svelte-template/.gitignore delete mode 100644 packages/playground/hmr-test-dependency/svelte.js delete mode 100644 packages/playground/hmr/.gitignore delete mode 100644 packages/playground/kit-node/.gitignore create mode 100644 packages/playground/package-json-svelte-field/README.md create mode 100644 packages/playground/package-json-svelte-field/__tests__/package-json-svelte-field.spec.ts create mode 100644 packages/playground/package-json-svelte-field/index.html create mode 100644 packages/playground/package-json-svelte-field/package.json create mode 100644 packages/playground/package-json-svelte-field/public/favicon.png create mode 100644 packages/playground/package-json-svelte-field/src/App.svelte create mode 100644 packages/playground/package-json-svelte-field/src/main.js create mode 100644 packages/playground/package-json-svelte-field/vite.config.js delete mode 100644 packages/playground/preprocess-with-vite/.gitignore delete mode 100644 packages/playground/svelte-preprocess/.gitignore create mode 100644 packages/playground/test-dependency-svelte-field/package.json create mode 100644 packages/playground/test-dependency-svelte-field/src/components/Message.svelte create mode 100644 packages/playground/test-dependency-svelte-field/src/components/svelte.js delete mode 100644 packages/playground/windicss/.gitignore delete mode 100644 packages/vite-plugin-svelte/api-extractor.json delete mode 100644 packages/vite-plugin-svelte/scripts/build-bundle.js rename packages/vite-plugin-svelte/src/{handleHotUpdate.ts => handle-hot-update.ts} (92%) rename packages/vite-plugin-svelte/src/utils/{loadSvelteConfig.ts => load-svelte-config.ts} (97%) create mode 100644 packages/vite-plugin-svelte/src/utils/resolve.ts rename packages/vite-plugin-svelte/src/utils/{VitePluginSvelteCache.ts => vite-plugin-svelte-cache.ts} (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9212ae6a9..699ad00a4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -# build and test on linux, windows, mac with node 12,14 +# build and test on linux, windows, mac with node 12, 14, 16 name: CI env: @@ -20,7 +20,7 @@ jobs: fail-fast: false matrix: os: [ ubuntu-latest, windows-latest, macos-latest ] - node: [ 12, 14 ] + node: [ 12, 14, 16 ] steps: - uses: actions/setup-node@v2 @@ -136,7 +136,7 @@ jobs: fail-fast: false matrix: os: [ ubuntu-latest, windows-latest, macos-latest ] - node: [ 12, 14 ] + node: [ 12, 14, 16 ] steps: - uses: actions/setup-node@v2 with: diff --git a/.gitignore b/.gitignore index 68483deaa..8dc452fdb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,22 +1,45 @@ -.DS_Store -node_modules -dist -dist-ssr -build -TODOs.md +# logs and temp *.log +**/*.log +*.cpuprofile +**/*.cpuprofile temp -explorations -.idea +**/temp +*.tmp +**/*.tmp + +# build and dist +build +**/build +dist +**/dist +.svelte +.svelte-kit +**/.svelte +**/.svelte-kit + +# env and local *.local -*.cpuprofile +**/*.local .env -packages/**/pnpm-lock.yaml -packages/**/package-lock.json -packages/**/yarn.lock -packages/**/dist -packages/**/dist-ssr -packages/**/build -packages/**/node_modules -temp/**/* +**/.env + +#node_modules and pnpm +node_modules +**/node_modules +# only workspace root has a lock +**/pnpm-lock.yaml .pnpm-store +**/.pnpm-store + +#ide +.idea +**/.idea +.vscode +**/.vscode + +# macos +.DS_Store +._.DS_Store +**/.DS_Store +**/._.DS_Store diff --git a/.pnpmfile.cjs b/.pnpmfile.cjs index f0552836c..16b948652 100644 --- a/.pnpmfile.cjs +++ b/.pnpmfile.cjs @@ -1,4 +1,5 @@ -const viteVersion = require('./package.json').devDependencies.vite; +const {vite,esbuild} = require('./package.json').devDependencies; + function readPackage(pkg) { for (const section of [ 'dependencies', @@ -7,12 +8,20 @@ function readPackage(pkg) { 'optionalDependencies' ]) { // enforce use of workspace vite-plugin-svelte + // integration testing with svelte-kit would test outdated version otherwise if (pkg[section]['@sveltejs/vite-plugin-svelte']) { pkg[section]['@sveltejs/vite-plugin-svelte'] = 'workspace:*'; } // enforce use of workspace vite + // integration testing with svelte-kit would test outdated version otherwise if(pkg[section]['vite']) { - pkg[section]['vite'] = viteVersion; + pkg[section]['vite'] = vite; + } + + // enforce use of workspace esbuild + // to ensure a single version is used and + if(pkg[section]['esbuild']) { + pkg[section]['esbuild'] = esbuild; } } return pkg; diff --git a/package.json b/package.json index 914078375..881ef5313 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "private": true, "scripts": { "dev": "pnpm --dir packages/vite-plugin-svelte dev", - "build:ci": "pnpm -r build-bundle --filter=./packages/vite-plugin-svelte", + "build:ci": "pnpm -r build:ci --filter=./packages/vite-plugin-svelte", "build": "pnpm -r build --filter=\\!./packages/playground", "build:vite-plugin-svelte": "pnpm --dir packages/vite-plugin-svelte build", "test": "run-s test:serve test:build", @@ -26,18 +26,17 @@ "devDependencies": { "@changesets/changelog-github": "^0.4.0", "@changesets/cli": "^2.16.0", - "@microsoft/api-extractor": "^7.15.2", "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.23", - "@types/node": "^15.12.0", + "@types/node": "^15.12.2", "@types/semver": "^7.3.6", - "@typescript-eslint/eslint-plugin": "^4.26.0", - "@typescript-eslint/parser": "^4.26.0", + "@typescript-eslint/eslint-plugin": "^4.26.1", + "@typescript-eslint/parser": "^4.26.1", "chalk": "^4.1.1", "cross-env": "^7.0.3", "enquirer": "^2.3.6", - "esbuild": "~0.12.5", - "eslint": "^7.27.0", + "esbuild": "^0.12.8", + "eslint": "^7.28.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-html": "^6.1.2", "eslint-plugin-jest": "^24.3.6", @@ -45,7 +44,7 @@ "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^3.4.0", "eslint-plugin-svelte3": "^3.2.0", - "execa": "^5.1.0", + "execa": "^5.1.1", "fs-extra": "^10.0.0", "husky": "^6.0.0", "jest": "^27.0.4", @@ -56,17 +55,17 @@ "node-fetch": "^2.6.1", "npm-check-updates": "^11.6.0", "npm-run-all": "^4.1.5", - "playwright-core": "^1.11.1", - "pnpm": "^6.6.2", - "prettier": "^2.3.0", + "playwright-core": "^1.12.0", + "pnpm": "^6.7.4", + "prettier": "^2.3.1", "prettier-plugin-svelte": "^2.3.0", "rimraf": "^3.0.2", "semver": "^7.3.5", "sirv": "^1.0.12", "svelte": "^3.38.2", - "ts-jest": "^27.0.2", + "ts-jest": "^27.0.3", "typescript": "^4.3.2", - "vite": "^2.3.6" + "vite": "^2.3.7" }, "lint-staged": { "*.{js,ts,svelte,html,md,svx}": "eslint --fix", @@ -75,9 +74,9 @@ ] }, "engines": { - "pnpm": ">=6", + "pnpm": "^6.7.0", "yarn": "forbidden, use pnpm", "npm": "forbidden, use pnpm", - "node": "^12.20 || ^14.13.1 || >= 16" + "node": "^12.20 || ^14.13.1 || >= 16" } } diff --git a/packages/playground/autoprefixer-browerslist/.gitignore b/packages/playground/autoprefixer-browerslist/.gitignore deleted file mode 100644 index da93220bc..000000000 --- a/packages/playground/autoprefixer-browerslist/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/node_modules/ -/public/build/ - -.DS_Store diff --git a/packages/playground/autoprefixer-browerslist/package.json b/packages/playground/autoprefixer-browerslist/package.json index 480927ae6..4966a3ce3 100644 --- a/packages/playground/autoprefixer-browerslist/package.json +++ b/packages/playground/autoprefixer-browerslist/package.json @@ -17,6 +17,6 @@ "svelte": "^3.38.2", "svelte-hmr": "^0.14.4", "svelte-preprocess": "^4.7.3", - "vite": "^2.3.6" + "vite": "^2.3.7" } } diff --git a/packages/playground/autoprefixer-browerslist/vite.config.js b/packages/playground/autoprefixer-browerslist/vite.config.js index 585825b99..6efba7171 100644 --- a/packages/playground/autoprefixer-browerslist/vite.config.js +++ b/packages/playground/autoprefixer-browerslist/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte'); +const svelte = require('@sveltejs/vite-plugin-svelte').default; const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { diff --git a/packages/playground/big/.gitignore b/packages/playground/big/.gitignore deleted file mode 100644 index af521c222..000000000 --- a/packages/playground/big/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -.vscode -.idea -node_modules -dist -dist-ssr - - diff --git a/packages/playground/big/package.json b/packages/playground/big/package.json index 29ba0576c..cd2940ff2 100644 --- a/packages/playground/big/package.json +++ b/packages/playground/big/package.json @@ -13,6 +13,6 @@ "@sveltejs/vite-plugin-svelte": "workspace:*", "svelte": "^3.38.2", "svelte-hmr": "^0.14.4", - "vite": "^2.3.6" + "vite": "^2.3.7" } } diff --git a/packages/playground/big/vite.config.js b/packages/playground/big/vite.config.js index 585825b99..6efba7171 100644 --- a/packages/playground/big/vite.config.js +++ b/packages/playground/big/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte'); +const svelte = require('@sveltejs/vite-plugin-svelte').default; const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { diff --git a/packages/playground/configfile-custom/.gitignore b/packages/playground/configfile-custom/.gitignore deleted file mode 100644 index da93220bc..000000000 --- a/packages/playground/configfile-custom/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/node_modules/ -/public/build/ - -.DS_Store diff --git a/packages/playground/configfile-custom/package.json b/packages/playground/configfile-custom/package.json index 7c53242a5..e64b20894 100644 --- a/packages/playground/configfile-custom/package.json +++ b/packages/playground/configfile-custom/package.json @@ -14,6 +14,6 @@ "svelte": "^3.38.2", "svelte-hmr": "^0.14.4", "svelte-preprocess": "^4.7.3", - "vite": "^2.3.6" + "vite": "^2.3.7" } } diff --git a/packages/playground/configfile-custom/vite.config.js b/packages/playground/configfile-custom/vite.config.js index cfe31021f..f2f86e83b 100644 --- a/packages/playground/configfile-custom/vite.config.js +++ b/packages/playground/configfile-custom/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte'); +const svelte = require('@sveltejs/vite-plugin-svelte').default; const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { diff --git a/packages/playground/configfile-esm/.gitignore b/packages/playground/configfile-esm/.gitignore deleted file mode 100644 index da93220bc..000000000 --- a/packages/playground/configfile-esm/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/node_modules/ -/public/build/ - -.DS_Store diff --git a/packages/playground/configfile-esm/package.json b/packages/playground/configfile-esm/package.json index 36c8d35cb..95da4132d 100644 --- a/packages/playground/configfile-esm/package.json +++ b/packages/playground/configfile-esm/package.json @@ -14,7 +14,7 @@ "svelte": "^3.38.2", "svelte-hmr": "^0.14.4", "svelte-preprocess": "^4.7.3", - "vite": "^2.3.6" + "vite": "^2.3.7" }, "type": "module" } diff --git a/packages/playground/default-svelte-template-ts/.gitignore b/packages/playground/default-svelte-template-ts/.gitignore deleted file mode 100644 index da93220bc..000000000 --- a/packages/playground/default-svelte-template-ts/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/node_modules/ -/public/build/ - -.DS_Store diff --git a/packages/playground/default-svelte-template-ts/.vscode/extensions.json b/packages/playground/default-svelte-template-ts/.vscode/extensions.json deleted file mode 100644 index bdef82015..000000000 --- a/packages/playground/default-svelte-template-ts/.vscode/extensions.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "recommendations": ["svelte.svelte-vscode"] -} diff --git a/packages/playground/default-svelte-template-ts/package.json b/packages/playground/default-svelte-template-ts/package.json index 270a8275d..ced205b6b 100644 --- a/packages/playground/default-svelte-template-ts/package.json +++ b/packages/playground/default-svelte-template-ts/package.json @@ -13,7 +13,7 @@ "@tsconfig/svelte": "^2.0.1", "svelte": "^3.38.2", "svelte-hmr": "^0.14.4", - "vite": "^2.3.6", + "vite": "^2.3.7", "svelte-check": "^2.1.0", "svelte-preprocess": "^4.7.3", "typescript": "^4.3.2", diff --git a/packages/playground/default-svelte-template-ts/vite.config.js b/packages/playground/default-svelte-template-ts/vite.config.js index 585825b99..6efba7171 100644 --- a/packages/playground/default-svelte-template-ts/vite.config.js +++ b/packages/playground/default-svelte-template-ts/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte'); +const svelte = require('@sveltejs/vite-plugin-svelte').default; const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { diff --git a/packages/playground/default-svelte-template/.gitignore b/packages/playground/default-svelte-template/.gitignore deleted file mode 100644 index da93220bc..000000000 --- a/packages/playground/default-svelte-template/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/node_modules/ -/public/build/ - -.DS_Store diff --git a/packages/playground/default-svelte-template/package.json b/packages/playground/default-svelte-template/package.json index ff3b60ddf..4bafdaa37 100644 --- a/packages/playground/default-svelte-template/package.json +++ b/packages/playground/default-svelte-template/package.json @@ -10,6 +10,6 @@ "@sveltejs/vite-plugin-svelte": "workspace:*", "svelte": "^3.38.2", "svelte-hmr": "^0.14.4", - "vite": "^2.3.6" + "vite": "^2.3.7" } } diff --git a/packages/playground/default-svelte-template/vite.config.js b/packages/playground/default-svelte-template/vite.config.js index 585825b99..6efba7171 100644 --- a/packages/playground/default-svelte-template/vite.config.js +++ b/packages/playground/default-svelte-template/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte'); +const svelte = require('@sveltejs/vite-plugin-svelte').default; const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { diff --git a/packages/playground/hmr-test-dependency/svelte.js b/packages/playground/hmr-test-dependency/svelte.js deleted file mode 100644 index 6ab566897..000000000 --- a/packages/playground/hmr-test-dependency/svelte.js +++ /dev/null @@ -1,2 +0,0 @@ -import Dependency from './src/components/Dependency.svelte'; -export default Dependency; diff --git a/packages/playground/hmr/.gitignore b/packages/playground/hmr/.gitignore deleted file mode 100644 index d55d2d5c9..000000000 --- a/packages/playground/hmr/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -dist -temp -package-lock.json diff --git a/packages/playground/hmr/package.json b/packages/playground/hmr/package.json index 85595713f..bc1b28290 100644 --- a/packages/playground/hmr/package.json +++ b/packages/playground/hmr/package.json @@ -13,7 +13,7 @@ "@sveltejs/vite-plugin-svelte": "workspace:*", "svelte": "^3.38.2", "svelte-hmr": "^0.14.4", - "vite": "^2.3.6", + "vite": "^2.3.7", "node-fetch": "^2.6.1" } } diff --git a/packages/playground/hmr/vite.config.js b/packages/playground/hmr/vite.config.js index b00db7ca1..147490ce9 100644 --- a/packages/playground/hmr/vite.config.js +++ b/packages/playground/hmr/vite.config.js @@ -1,5 +1,5 @@ const { defineConfig } = require('vite'); -const svelte = require('@sveltejs/vite-plugin-svelte'); +const svelte = require('@sveltejs/vite-plugin-svelte').default; module.exports = defineConfig(({ command, mode }) => { const isProduction = mode === 'production'; diff --git a/packages/playground/kit-node/.gitignore b/packages/playground/kit-node/.gitignore deleted file mode 100644 index 77b1ebd84..000000000 --- a/packages/playground/kit-node/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -.DS_Store -node_modules -/.svelte -/build -/functions \ No newline at end of file diff --git a/packages/playground/package-json-svelte-field/README.md b/packages/playground/package-json-svelte-field/README.md new file mode 100644 index 000000000..d6ec04052 --- /dev/null +++ b/packages/playground/package-json-svelte-field/README.md @@ -0,0 +1,10 @@ +# default svelte app template + +Created with `npx degit sveltejs/template` + +adapted to vite by moving index.html to root and replacing rollup config with vite + +use pnpm + +`pnpm dev` starts dev server +`pnpm build` builds for production diff --git a/packages/playground/package-json-svelte-field/__tests__/package-json-svelte-field.spec.ts b/packages/playground/package-json-svelte-field/__tests__/package-json-svelte-field.spec.ts new file mode 100644 index 000000000..0b3942664 --- /dev/null +++ b/packages/playground/package-json-svelte-field/__tests__/package-json-svelte-field.spec.ts @@ -0,0 +1,5 @@ +import { getText } from '../../testUtils'; + +test('should render component imported via svelte field in package.json', async () => { + expect(await getText('#test-id')).toBe('svelte field works'); +}); diff --git a/packages/playground/package-json-svelte-field/index.html b/packages/playground/package-json-svelte-field/index.html new file mode 100644 index 000000000..c321fcb17 --- /dev/null +++ b/packages/playground/package-json-svelte-field/index.html @@ -0,0 +1,15 @@ + + + + + + + Svelte app + + + + + + + + diff --git a/packages/playground/package-json-svelte-field/package.json b/packages/playground/package-json-svelte-field/package.json new file mode 100644 index 000000000..650b9cc35 --- /dev/null +++ b/packages/playground/package-json-svelte-field/package.json @@ -0,0 +1,18 @@ +{ + "name": "playground-package-json-svelte-field", + "private": true, + "version": "1.0.0", + "scripts": { + "build": "vite build", + "dev": "vite" + }, + "dependencies": { + "playground-test-dependency-svelte-field": "workspace:*" + }, + "devDependencies": { + "@sveltejs/vite-plugin-svelte": "workspace:*", + "svelte": "^3.38.2", + "svelte-hmr": "^0.14.4", + "vite": "^2.3.7" + } +} diff --git a/packages/playground/package-json-svelte-field/public/favicon.png b/packages/playground/package-json-svelte-field/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..7e6f5eb5a2f1f1c882d265cf479de25caa925645 GIT binary patch literal 3127 zcmV-749N3|P)i z7)}s4L53SJCkR}iVi00SFk;`MXX*#X*kkwKs@nFGS}c;=?XFjU|G$3t^5sjIVS2G+ zw)WGF83CpoGXhLGW(1gW%uV|X7>1P6VhCX=Ux)Lb!*DZ%@I3!{Gsf7d?gtIQ%nQiK z3%(LUSkBji;C5Rfgd6$VsF@H`Pk@xtY6t<>FNR-pD}=C~$?)9pdm3XZ36N5PNWYjb z$xd$yNQR9N!dfj-Vd@BwQo^FIIWPPmT&sZyQ$v81(sCBV=PGy{0wltEjB%~h157*t zvbe_!{=I_783x!0t1-r#-d{Y?ae$Q4N_Nd^Ui^@y(%)Gjou6y<3^XJdu{rmUf-Me?)zZ>9OR&6U5H*cK; z$gUlB{g0O4gN0sLSO|Of?hU(l?;h(jA3uH!Z{EBKuV23ouU@^Y6#%v+QG;>e*E}%?wlu-NT4DG zs)z)7WbLr)vGAu(ohrKc^em@OpO&f~6_>E61n_e0_V3@{U3^O;j{`^mNCJUj_>;7v zsMs6Hu3g7+@v+lSo;=yTYFqq}jZmQ-BK8K{C4kqi_i*jBaQE(Au0607V-zKeT;EPg zX(`vrn=L+e74+-Tqeok@_`tDa$G9I|$nTU5H*2V8@y()n*zqM?J1G!-1aX;CfDC9B zTnJ#j_%*n8Qb1)re*Bno7g0RG{Eb;IK14irJYJp$5Z6ac9~b_P?+5t~95~SRG$g?1 znFJ7p$xV&GZ18m~79TGRdfsc-BcX$9yXTR*n)mPD@1~O(_?cT$ZvFPucRmGlq&se0 zKrcUf^k}4hM*biEJOWKzz!qQe;CB_ZtSOO9Owg#lZAc=s65^rb{fZe(TYu_rk!wKkEf}RIt=#Om( zR8mN`DM<^xj~59euMMspBolVN zAPTr8sSDI104orIAdmL$uOXn*6hga1G+0WD0E?UtabxC#VC~vf3|10|phW;yQ3CY8 z2CM=)ErF;xq-YJ5G|um}>*1#E+O_Mu|Nr#qQ&G1P-NMq@f?@*XUcSbV?tX=)ilM-Q zBZP|!Bpv0V;#ojKcpc7$=eqO;#Uy~#?^kNI{vSZfLx&DEt~LTmaKWXcx=joubklI<*Aw z>LtMaQ7DR<1I2LkWvwyu#Rwn~;ezT}_g(@5l3h?W%-a86Y-t#O1PubP+z<%?V5D(U zy57A6{h+{?kOZp7&WKZR+=sznMJ}+Dnpo=C_0%R_x_t~J5T?E_{+))l5v1%52>)d-`iiZyx|5!%M2Fb2dU zW3~MwwpEH9Rhue+k$UIOoo($Ds!NbOyMR36fRHu;*15(YcA7siIZk#%JWz>P!qX1?IUojG&nKR>^gArBt2 zit(ETyZ=@V&7mv_Fi4bABcnwP+jzQuHcfU&BrAV91u-rFvEi7y-KnWsvHH=d2 zgAk(GKm_S8RcTJ>2N3~&Hbwp{Z3NF_Xeh}g4Eke)V&dY{W(3&b1j9t4yK_aYJisZZ{1rcU5- z;eD>K;ndPq&B-8yA_S0F!4ThA&{1{x)H<#?k9a#6Pc6L?V^s0``ynL&D;p(!Nmx`Y zFkHex{4p!Ggm^@DlehW}iHHVi}~u=$&N? z(NEBLQ#UxxAkdW>X9LnqUr#t4Lu0=9L8&o>JsqTtT5|%gb3QA~hr0pED71+iFFr)dZ=Q=E6ng{NE{Z~0)C?deO#?Aj zSDQ$z#TeC2T^|=}6GBo-&$;E{HL3!q3Z-szuf)O=G#zDjin4SSP%o%6+2IT#sLjQa ziyxFFz~LMjWY+_a5H!U6%a<=b7QVP^ z*90a62;bVq{?@)P6^DWd^Yilq4|YTV2Nw!Yu;a1lPI-sxR)rf@Fe5DhDP7FH zZZ%4S*1C30P;|O+jB!1;m|rXT90Sm5*RBbQN`PKu+hDD*S^yE(CdtSfg=z>u$cIj> z + // eslint-disable-next-line node/no-missing-import + import { Message } from 'playground-test-dependency-svelte-field'; + + + diff --git a/packages/playground/package-json-svelte-field/src/main.js b/packages/playground/package-json-svelte-field/src/main.js new file mode 100644 index 000000000..2c27a2579 --- /dev/null +++ b/packages/playground/package-json-svelte-field/src/main.js @@ -0,0 +1,7 @@ +import App from './App.svelte'; + +const app = new App({ + target: document.body +}); + +export default app; diff --git a/packages/playground/package-json-svelte-field/vite.config.js b/packages/playground/package-json-svelte-field/vite.config.js new file mode 100644 index 000000000..6efba7171 --- /dev/null +++ b/packages/playground/package-json-svelte-field/vite.config.js @@ -0,0 +1,12 @@ +const svelte = require('@sveltejs/vite-plugin-svelte').default; +const { defineConfig } = require('vite'); + +module.exports = defineConfig(({ command, mode }) => { + const isProduction = mode === 'production'; + return { + plugins: [svelte()], + build: { + minify: isProduction + } + }; +}); diff --git a/packages/playground/preprocess-with-vite/.gitignore b/packages/playground/preprocess-with-vite/.gitignore deleted file mode 100644 index 49ce2306b..000000000 --- a/packages/playground/preprocess-with-vite/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.vscode -.idea -node_modules -dist -dist-ssr - diff --git a/packages/playground/preprocess-with-vite/package.json b/packages/playground/preprocess-with-vite/package.json index 61c2df84f..d9dcdd4d2 100644 --- a/packages/playground/preprocess-with-vite/package.json +++ b/packages/playground/preprocess-with-vite/package.json @@ -13,6 +13,6 @@ "stylus": "^0.54.8", "svelte": "^3.38.2", "svelte-hmr": "^0.14.4", - "vite": "^2.3.6" + "vite": "^2.3.7" } } diff --git a/packages/playground/preprocess-with-vite/vite.config.js b/packages/playground/preprocess-with-vite/vite.config.js index 1bc20f855..0f739f502 100644 --- a/packages/playground/preprocess-with-vite/vite.config.js +++ b/packages/playground/preprocess-with-vite/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte'); +const svelte = require('@sveltejs/vite-plugin-svelte').default; const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { diff --git a/packages/playground/svelte-preprocess/.gitignore b/packages/playground/svelte-preprocess/.gitignore deleted file mode 100644 index 0895721cc..000000000 --- a/packages/playground/svelte-preprocess/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -.vscode -.idea -node_modules -dist -dist-ssr diff --git a/packages/playground/svelte-preprocess/package.json b/packages/playground/svelte-preprocess/package.json index 120836c0d..3a293949d 100644 --- a/packages/playground/svelte-preprocess/package.json +++ b/packages/playground/svelte-preprocess/package.json @@ -12,6 +12,6 @@ "svelte": "^3.38.2", "svelte-preprocess": "^4.7.3", "typescript": "^4.3.2", - "vite": "^2.3.6" + "vite": "^2.3.7" } } diff --git a/packages/playground/svelte-preprocess/vite.config.js b/packages/playground/svelte-preprocess/vite.config.js index ce40e8795..d1ad3c52e 100644 --- a/packages/playground/svelte-preprocess/vite.config.js +++ b/packages/playground/svelte-preprocess/vite.config.js @@ -1,5 +1,5 @@ const { defineConfig } = require('vite'); -const svelte = require('@sveltejs/vite-plugin-svelte'); +const svelte = require('@sveltejs/vite-plugin-svelte').default; module.exports = defineConfig(({ command, mode }) => { const isProduction = mode === 'production'; diff --git a/packages/playground/test-dependency-svelte-field/package.json b/packages/playground/test-dependency-svelte-field/package.json new file mode 100644 index 000000000..9b68f0cdd --- /dev/null +++ b/packages/playground/test-dependency-svelte-field/package.json @@ -0,0 +1,13 @@ +{ + "version": "1.0.0", + "private": true, + "name": "playground-test-dependency-svelte-field", + "svelte": "src/components/svelte.js", + "files": [ + "src", + "package.json" + ], + "exports": { + "./package.json": "./package.json" + } +} diff --git a/packages/playground/test-dependency-svelte-field/src/components/Message.svelte b/packages/playground/test-dependency-svelte-field/src/components/Message.svelte new file mode 100644 index 000000000..097c838a2 --- /dev/null +++ b/packages/playground/test-dependency-svelte-field/src/components/Message.svelte @@ -0,0 +1,6 @@ + + +
{message}
diff --git a/packages/playground/test-dependency-svelte-field/src/components/svelte.js b/packages/playground/test-dependency-svelte-field/src/components/svelte.js new file mode 100644 index 000000000..47e264fa2 --- /dev/null +++ b/packages/playground/test-dependency-svelte-field/src/components/svelte.js @@ -0,0 +1,2 @@ +import Message from './Message.svelte'; +export { Message }; diff --git a/packages/playground/ts-type-import/package.json b/packages/playground/ts-type-import/package.json index ec52168d4..4b3bbd7da 100644 --- a/packages/playground/ts-type-import/package.json +++ b/packages/playground/ts-type-import/package.json @@ -10,8 +10,8 @@ "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:*", "@tsconfig/svelte": "^2.0.1", - "@types/node": "^15.12.0", + "@types/node": "^15.12.2", "svelte-preprocess": "^4.7.3", - "vite": "^2.3.6" + "vite": "^2.3.7" } } diff --git a/packages/playground/ts-type-import/vite.config.js b/packages/playground/ts-type-import/vite.config.js index 9c3e6a15b..db918b811 100644 --- a/packages/playground/ts-type-import/vite.config.js +++ b/packages/playground/ts-type-import/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte'); +const svelte = require('@sveltejs/vite-plugin-svelte').default; const { defineConfig } = require('vite'); module.exports = defineConfig(() => { diff --git a/packages/playground/vite-ssr/package.json b/packages/playground/vite-ssr/package.json index fc5963d63..5c13a7835 100644 --- a/packages/playground/vite-ssr/package.json +++ b/packages/playground/vite-ssr/package.json @@ -21,6 +21,6 @@ "serve-static": "^1.14.1", "svelte": "^3.38.2", "svelte-hmr": "^0.14.4", - "vite": "^2.3.6" + "vite": "^2.3.7" } } diff --git a/packages/playground/vite-ssr/vite.config.js b/packages/playground/vite-ssr/vite.config.js index aa0f8087d..3a27f01c8 100644 --- a/packages/playground/vite-ssr/vite.config.js +++ b/packages/playground/vite-ssr/vite.config.js @@ -1,5 +1,5 @@ const { defineConfig } = require('vite'); -const svelte = require('@sveltejs/vite-plugin-svelte'); +const svelte = require('@sveltejs/vite-plugin-svelte').default; module.exports = defineConfig(({ command, mode }) => { const isProduction = mode === 'production'; diff --git a/packages/playground/windicss/.gitignore b/packages/playground/windicss/.gitignore deleted file mode 100644 index 49ce2306b..000000000 --- a/packages/playground/windicss/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.vscode -.idea -node_modules -dist -dist-ssr - diff --git a/packages/playground/windicss/package.json b/packages/playground/windicss/package.json index bdf206d44..109b0ef10 100644 --- a/packages/playground/windicss/package.json +++ b/packages/playground/windicss/package.json @@ -8,13 +8,13 @@ "serve": "vite preview" }, "dependencies": { - "windicss": "^3.0.12" + "windicss": "^3.1.3" }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:*", "svelte": "^3.38.2", "svelte-hmr": "^0.14.4", - "vite": "^2.3.6", - "vite-plugin-windicss": "^0.17.0" + "vite": "^2.3.7", + "vite-plugin-windicss": "^1.0.3" } } diff --git a/packages/playground/windicss/vite.config.js b/packages/playground/windicss/vite.config.js index 3dc4e96c3..8a04185b6 100644 --- a/packages/playground/windicss/vite.config.js +++ b/packages/playground/windicss/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte'); +const svelte = require('@sveltejs/vite-plugin-svelte').default; const { defineConfig } = require('vite'); const vitePluginWindicss = require('vite-plugin-windicss').default; diff --git a/packages/vite-plugin-svelte/README.md b/packages/vite-plugin-svelte/README.md index 376de6f92..eee661132 100644 --- a/packages/vite-plugin-svelte/README.md +++ b/packages/vite-plugin-svelte/README.md @@ -3,11 +3,10 @@ ## usage ```js -// vite.config.js -const svelte = require('@sveltejs/vite-plugin-svelte'); -const { defineConfig } = require('vite'); +import svelte from '@sveltejs/vite-plugin-svelte'; +import { defineConfig } from 'vite'; -module.exports = defineConfig(({ command, mode }) => { +export default defineConfig(({ command, mode }) => { const isProduction = mode === 'production'; return { plugins: [ @@ -22,13 +21,23 @@ module.exports = defineConfig(({ command, mode }) => { }); ``` +### commonjs + +If you cannot use import and need commonjs, vite-plugin-svelte provides a fallback build in `dist/index.cjs` + +require it like this: + +```js +const svelte = require('@sveltejs/vite-plugin-svelte').default; +``` + ## Options vite-plugin-svelte reads the vite configuration and uses an appropriate default configuration It also loads `svelte.config.js` (or `svelte.config.cjs`) from the configured `vite.root` directory automatically. -Options are applied in the following order: +Options are merged in the following order: 1. vite-plugin-svelte defaults 2. svelte.config.js in vite.root diff --git a/packages/vite-plugin-svelte/api-extractor.json b/packages/vite-plugin-svelte/api-extractor.json deleted file mode 100644 index df6d6f9a4..000000000 --- a/packages/vite-plugin-svelte/api-extractor.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - - "projectFolder": ".", - - "mainEntryPointFilePath": "./temp/index.d.ts", - - "dtsRollup": { - "enabled": true, - "untrimmedFilePath": "./dist/index.d.ts" - }, - - "apiReport": { - "enabled": false - }, - - "docModel": { - "enabled": false - }, - - "tsdocMetadata": { - "enabled": false - }, - - "messages": { - "compilerMessageReporting": { - "default": { - "logLevel": "warning" - } - }, - - "extractorMessageReporting": { - "default": { - "logLevel": "warning", - "addToApiReportFile": true - }, - - "ae-missing-release-tag": { - "logLevel": "none" - } - }, - - "tsdocMessageReporting": { - "default": { - "logLevel": "warning" - }, - - "tsdoc-undefined-tag": { - "logLevel": "none" - } - } - } -} diff --git a/packages/vite-plugin-svelte/package.json b/packages/vite-plugin-svelte/package.json index 4435d7578..b3b9305cc 100644 --- a/packages/vite-plugin-svelte/package.json +++ b/packages/vite-plugin-svelte/package.json @@ -1,56 +1,65 @@ { - "name": "@sveltejs/vite-plugin-svelte", - "version": "1.0.0-next.10", - "license": "MIT", - "author": "dominikg", - "files": [ - "dist" - ], - "main": "dist/index.js", - "types": "dist/index.d.ts", - "scripts": { - "dev": "tsc -p . -w --incremental", - "build": "rimraf dist && run-s build-bundle build-types", - "build-bundle": "node scripts/build-bundle.js", - "build-types": "tsc -p . --emitDeclarationOnly --outDir temp && api-extractor run && rimraf temp" - }, - "engines": { + "name": "@sveltejs/vite-plugin-svelte", + "version": "1.0.0-next.10", + "license": "MIT", + "author": "dominikg", + "files": [ + "dist", + "src", + "README.md", + "LICENSE", + "package.json" + ], + "type": "module", + "main": "dist/index.cjs", + "module": "dist/index.js", + "types": "dist/index.d.ts", + "exports": { + ".": { + "import": "./dist/index.js", + "require": "./dist/index.cjs" + }, + "./package.json": "./package.json" + }, + "scripts": { + "dev": "pnpm run build:ci -- --watch src", + "build:ci": "rimraf dist && tsup-node src/index.ts --format esm,cjs --no-splitting", + "build": "pnpm run build:ci -- --dts --dts-resolve --sourcemap" + }, + "engines": { "node": "^12.20 || ^14.13.1 || >= 16" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/sveltejs/vite-plugin-svelte.git" - }, - "keywords": [ - "vite-plugin", - "vite plugin", - "vite", - "svelte" - ], - "bugs": { - "url": "https://github.com/sveltejs/vite-plugin-svelte/issues" - }, - "homepage": "https://github.com/sveltejs/vite-plugin-svelte/tree/main/packages/vite-plugin-svelte#readme", - "dependencies": { - "@rollup/pluginutils": "^4.1.0", - "chalk": "^4.1.1", - "debug": "^4.3.2", - "require-relative": "^0.8.7", - "svelte-hmr": "^0.14.4" - }, - "peerDependencies": { - "svelte": "^3.38.2", - "vite": "^2.3.6" - }, - "devDependencies": { - "@types/debug": "^4.1.5", - "@types/es-module-lexer": "^0.3.0", - "@types/estree": "^0.0.48", - "esbuild": "~0.12.5", - "locate-character": "^2.0.5", - "magic-string": "^0.25.7", - "rollup": "^2.50.6", - "svelte": "^3.38.2", - "vite": "^2.3.6" - } + }, + "repository": { + "type": "git", + "url": "git+https://github.com/sveltejs/vite-plugin-svelte.git" + }, + "keywords": [ + "vite-plugin", + "vite plugin", + "vite", + "svelte" + ], + "bugs": { + "url": "https://github.com/sveltejs/vite-plugin-svelte/issues" + }, + "homepage": "https://github.com/sveltejs/vite-plugin-svelte/tree/main/packages/vite-plugin-svelte#readme", + "dependencies": { + "@rollup/pluginutils": "^4.1.0", + "chalk": "^4.1.1", + "debug": "^4.3.2", + "require-relative": "^0.8.7", + "svelte-hmr": "^0.14.4" + }, + "peerDependencies": { + "svelte": "^3.38.2", + "vite": "^2.3.7" + }, + "devDependencies": { + "@types/debug": "^4.1.5", + "esbuild": "^0.12.8", + "rollup": "^2.51.1", + "svelte": "^3.38.2", + "tsup": "^4.11.2", + "vite": "^2.3.7" + } } diff --git a/packages/vite-plugin-svelte/scripts/build-bundle.js b/packages/vite-plugin-svelte/scripts/build-bundle.js deleted file mode 100644 index d0f80306f..000000000 --- a/packages/vite-plugin-svelte/scripts/build-bundle.js +++ /dev/null @@ -1,32 +0,0 @@ -const path = require('path'); -const esbuild = require('esbuild'); -const pkg = require(path.join(__dirname, '..', 'package.json')); - -const external = [].concat( - Object.keys(pkg.dependencies || {}), - Object.keys(pkg.peerDependencies || {}), - Object.keys(pkg.devDependencies || {}), - Object.keys(pkg.optionalDependencies || {}), - Object.keys(process.binding('natives')), - 'svelte/compiler' -); - -const buildOptions = { - platform: 'node', - target: 'node12', - entryPoints: ['src/index.ts'], - outfile: 'dist/index.js', - bundle: true, - external, - logLevel: 'warning', - tsconfig: path.join(__dirname, '..', 'tsconfig.json') -}; -const main = async () => { - console.log(`bundling ${pkg.name} with esbuild`); - await esbuild.build(buildOptions); -}; - -main().then(null, (err) => { - console.error('esbuild failed', err); - process.exit(1); -}); diff --git a/packages/vite-plugin-svelte/src/handleHotUpdate.ts b/packages/vite-plugin-svelte/src/handle-hot-update.ts similarity index 92% rename from packages/vite-plugin-svelte/src/handleHotUpdate.ts rename to packages/vite-plugin-svelte/src/handle-hot-update.ts index 0b4f0ef2c..1b7db712b 100644 --- a/packages/vite-plugin-svelte/src/handleHotUpdate.ts +++ b/packages/vite-plugin-svelte/src/handle-hot-update.ts @@ -2,7 +2,7 @@ import { ModuleNode, HmrContext } from 'vite'; import { Code, CompileData } from './utils/compile'; import { log, logCompilerWarnings } from './utils/log'; import { SvelteRequest } from './utils/id'; -import { VitePluginSvelteCache } from './utils/VitePluginSvelteCache'; +import { VitePluginSvelteCache } from './utils/vite-plugin-svelte-cache'; import { ResolvedOptions } from './utils/options'; /** @@ -38,15 +38,16 @@ export async function handleHotUpdate( log.debug('handleHotUpdate css changed'); affectedModules.add(cssModule); } - const jsUpdated = mainModule && jsChanged(cachedJS, compileData.compiled.js, svelteRequest.filename); + const jsUpdated = + mainModule && jsChanged(cachedJS, compileData.compiled.js, svelteRequest.filename); if (jsUpdated) { log.debug('handleHotUpdate js changed'); affectedModules.add(mainModule); } - if(!jsUpdated) { + if (!jsUpdated) { // transform won't be called, log warnings here - logCompilerWarnings(compileData.compiled.warnings,options) + logCompilerWarnings(compileData.compiled.warnings, options); } const result = [...affectedModules].filter(Boolean) as ModuleNode[]; diff --git a/packages/vite-plugin-svelte/src/index.ts b/packages/vite-plugin-svelte/src/index.ts index e759dc006..f7a36d3ce 100644 --- a/packages/vite-plugin-svelte/src/index.ts +++ b/packages/vite-plugin-svelte/src/index.ts @@ -1,8 +1,5 @@ -import * as path from 'path'; import { HmrContext, IndexHtmlTransformContext, ModuleNode, Plugin, UserConfig } from 'vite'; -// @ts-ignore -import * as relative from 'require-relative'; -import { handleHotUpdate } from './handleHotUpdate'; +import { handleHotUpdate } from './handle-hot-update'; import { log, logCompilerWarnings } from './utils/log'; import { CompileData, createCompileSvelte } from './utils/compile'; import { buildIdParser, IdParser, SvelteRequest } from './utils/id'; @@ -13,10 +10,11 @@ import { resolveOptions, PreprocessorGroup } from './utils/options'; -import { VitePluginSvelteCache } from './utils/VitePluginSvelteCache'; +import { VitePluginSvelteCache } from './utils/vite-plugin-svelte-cache'; import { SVELTE_IMPORTS, SVELTE_RESOLVE_MAIN_FIELDS } from './utils/constants'; import { setupWatchers } from './utils/watch'; +import { resolveViaPackageJsonSvelte } from './utils/resolve'; export { Options, @@ -144,42 +142,23 @@ export default function vitePluginSvelte(inlineOptions?: Partial): Plug return importee; // query with svelte tag, an id we generated, no need for further analysis } - // TODO below is code from rollup-plugin-svelte - // what needs to be kept or can be deleted? (pkg.svelte handling?) - if (!importer || importee[0] === '.' || importee[0] === '\0' || path.isAbsolute(importee)) { - return null; - } - - // if this is a bare import, see if there's a valid pkg.svelte - const parts = importee.split('/'); - - let dir, - pkg, - name = parts.shift(); - if (name && name[0] === '@') { - name += `/${parts.shift()}`; - } - try { - const file = `${name}/package.json`; - const resolved = relative.resolve(file, path.dirname(importer)); - dir = path.dirname(resolved); - pkg = require(resolved); + const resolved = resolveViaPackageJsonSvelte(importee, importer); + if (resolved) { + log.debug(`resolveId resolved ${resolved} via package.json svelte field of ${importee}`); + return resolved; + } } catch (err) { - if (err.code === 'MODULE_NOT_FOUND') return null; - if (err.code === 'ERR_PACKAGE_PATH_NOT_EXPORTED') { - pkg_export_errors.add(name); - return null; + switch (err.code) { + case 'ERR_PACKAGE_PATH_NOT_EXPORTED': + pkg_export_errors.add(importee); + return null; + case 'MODULE_NOT_FOUND': + return null; + default: + throw err; } - // TODO is throw correct here? - throw err; - } - - // use pkg.svelte - if (parts.length === 0 && pkg.svelte) { - return path.resolve(dir, pkg.svelte); } - log.debug(`resolveId did not resolve ${importee}`); }, async transform(code, id, ssr) { @@ -242,7 +221,3 @@ export default function vitePluginSvelte(inlineOptions?: Partial): Plug } }; } - -// overwrite for cjs require('...')() usage -module.exports = vitePluginSvelte; -vitePluginSvelte['default'] = vitePluginSvelte; diff --git a/packages/vite-plugin-svelte/src/utils/loadSvelteConfig.ts b/packages/vite-plugin-svelte/src/utils/load-svelte-config.ts similarity index 97% rename from packages/vite-plugin-svelte/src/utils/loadSvelteConfig.ts rename to packages/vite-plugin-svelte/src/utils/load-svelte-config.ts index 07721ab17..2264356f4 100644 --- a/packages/vite-plugin-svelte/src/utils/loadSvelteConfig.ts +++ b/packages/vite-plugin-svelte/src/utils/load-svelte-config.ts @@ -24,7 +24,7 @@ export async function loadSvelteConfig( try { return await dynamicImportDefault(pathToFileURL(configFile).href); } catch (e) { - log.debug(`failed to import config ${configFile}`, e); + log.error(`failed to import config ${configFile}`, e); err = e; } } diff --git a/packages/vite-plugin-svelte/src/utils/log.ts b/packages/vite-plugin-svelte/src/utils/log.ts index d38ef140a..dc23c785a 100644 --- a/packages/vite-plugin-svelte/src/utils/log.ts +++ b/packages/vite-plugin-svelte/src/utils/log.ts @@ -1,7 +1,7 @@ /* eslint-disable no-unused-vars */ import chalk from 'chalk'; import debug from 'debug'; -import {ResolvedOptions, Warning} from "./options"; +import { ResolvedOptions, Warning } from './options'; const levels: string[] = ['debug', 'info', 'warn', 'error', 'silent']; const prefix = 'vite-plugin-svelte'; @@ -96,43 +96,39 @@ export const log = { setViteLogOverwriteProtection }; - -export function logCompilerWarnings( - warnings: Warning[], - options: ResolvedOptions - ) { - const {emitCss,onwarn, isBuild} = options; +export function logCompilerWarnings(warnings: Warning[], options: ResolvedOptions) { + const { emitCss, onwarn, isBuild } = options; const warn = isBuild ? warnBuild : warnDev; - warnings?.forEach(warning => { - if (!emitCss && warning.code === 'css-unused-selector'){ + warnings?.forEach((warning) => { + if (!emitCss && warning.code === 'css-unused-selector') { return; } if (onwarn) { - onwarn(warning , warn); + onwarn(warning, warn); } else { - warn(warning) + warn(warning); } - }) + }); } function warnDev(w: Warning) { - log.info.enabled && log.info(buildExtendedLogMessage(w)) + log.info.enabled && log.info(buildExtendedLogMessage(w)); } function warnBuild(w: Warning) { - log.warn.enabled && log.warn(buildExtendedLogMessage(w),w.frame) + log.warn.enabled && log.warn(buildExtendedLogMessage(w), w.frame); } function buildExtendedLogMessage(w: Warning) { const parts = []; - if(w.filename) { - parts.push(w.filename) + if (w.filename) { + parts.push(w.filename); } - if(w.start) { - parts.push(':',w.start.line,':',w.start.column) + if (w.start) { + parts.push(':', w.start.line, ':', w.start.column); } - if(w.message){ - parts.push(' ',w.message) + if (w.message) { + parts.push(' ', w.message); } return parts.join(''); } diff --git a/packages/vite-plugin-svelte/src/utils/options.ts b/packages/vite-plugin-svelte/src/utils/options.ts index fc745e5f3..5aba91b18 100644 --- a/packages/vite-plugin-svelte/src/utils/options.ts +++ b/packages/vite-plugin-svelte/src/utils/options.ts @@ -1,7 +1,7 @@ /* eslint-disable no-unused-vars */ import { ResolvedConfig, ViteDevServer } from 'vite'; import { log } from './log'; -import { loadSvelteConfig } from './loadSvelteConfig'; +import { loadSvelteConfig } from './load-svelte-config'; import { addExtraPreprocessors } from './preprocess'; const knownOptions = new Set([ @@ -184,7 +184,7 @@ export interface Options { /** * custom warning handler for svelte compiler warnings */ - onwarn?: ((warning: Warning, defaultHandler?: (warning: Warning)=>void) => void); + onwarn?: (warning: Warning, defaultHandler?: (warning: Warning) => void) => void; /** * enable/disable hmr. You want this enabled. diff --git a/packages/vite-plugin-svelte/src/utils/preprocess.ts b/packages/vite-plugin-svelte/src/utils/preprocess.ts index 84ba19ac6..a30fffd7c 100644 --- a/packages/vite-plugin-svelte/src/utils/preprocess.ts +++ b/packages/vite-plugin-svelte/src/utils/preprocess.ts @@ -20,7 +20,7 @@ function createPreprocessorFromVitePlugin( if (!plugin.transform) { throw new Error(`plugin ${pluginName} has no transform`); } - const pluginTransform = plugin.transform!.bind((null as unknown) as TransformPluginContext); + const pluginTransform = plugin.transform!.bind(null as unknown as TransformPluginContext); // @ts-ignore return async ({ attributes, content, filename }) => { const lang = attributes.lang as string; diff --git a/packages/vite-plugin-svelte/src/utils/resolve.ts b/packages/vite-plugin-svelte/src/utils/resolve.ts new file mode 100644 index 000000000..a6cbfb0cc --- /dev/null +++ b/packages/vite-plugin-svelte/src/utils/resolve.ts @@ -0,0 +1,29 @@ +import path from 'path'; +import fs from 'fs'; +// @ts-ignore +import relative from 'require-relative'; + +export function resolveViaPackageJsonSvelte(importee: string, importer?: string): string | void { + if (importer && isBareImport(importee)) { + const importeePkgFile = relative.resolve(`${importee}/package.json`, path.dirname(importer)); + const importeePkg = JSON.parse(fs.readFileSync(importeePkgFile, { encoding: 'utf-8' })); + if (importeePkg.svelte) { + return path.resolve(path.dirname(importeePkgFile), importeePkg.svelte); + } + } +} + +function isBareImport(importee: string): boolean { + if (!importee || importee[0] === '.' || importee[0] === '\0' || path.isAbsolute(importee)) { + return false; + } + const parts = importee.split('/'); + switch (parts.length) { + case 1: + return true; + case 2: + return parts[0].startsWith('@'); + default: + return false; + } +} diff --git a/packages/vite-plugin-svelte/src/utils/VitePluginSvelteCache.ts b/packages/vite-plugin-svelte/src/utils/vite-plugin-svelte-cache.ts similarity index 100% rename from packages/vite-plugin-svelte/src/utils/VitePluginSvelteCache.ts rename to packages/vite-plugin-svelte/src/utils/vite-plugin-svelte-cache.ts diff --git a/packages/vite-plugin-svelte/src/utils/watch.ts b/packages/vite-plugin-svelte/src/utils/watch.ts index c130069b6..0605dd008 100644 --- a/packages/vite-plugin-svelte/src/utils/watch.ts +++ b/packages/vite-plugin-svelte/src/utils/watch.ts @@ -1,5 +1,5 @@ import { ViteDevServer } from 'vite'; -import { VitePluginSvelteCache } from './VitePluginSvelteCache'; +import { VitePluginSvelteCache } from './vite-plugin-svelte-cache'; import fs from 'fs'; import { log } from './log'; import { IdParser } from './id'; diff --git a/packages/vite-plugin-svelte/tsconfig.json b/packages/vite-plugin-svelte/tsconfig.json index 230e1974f..ccd36c7a3 100644 --- a/packages/vite-plugin-svelte/tsconfig.json +++ b/packages/vite-plugin-svelte/tsconfig.json @@ -1,6 +1,8 @@ { "include": ["src"], - "exclude": ["**/*.spec.ts"], + "exclude": [ + "**/*.spec.ts" + ], "compilerOptions": { "outDir": "dist", "target": "ES2019", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e20487b3d..02273a759 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,18 +6,17 @@ importers: specifiers: '@changesets/changelog-github': ^0.4.0 '@changesets/cli': ^2.16.0 - '@microsoft/api-extractor': ^7.15.2 '@types/fs-extra': ^9.0.11 '@types/jest': ^26.0.23 - '@types/node': ^15.12.0 + '@types/node': ^15.12.2 '@types/semver': ^7.3.6 - '@typescript-eslint/eslint-plugin': ^4.26.0 - '@typescript-eslint/parser': ^4.26.0 + '@typescript-eslint/eslint-plugin': ^4.26.1 + '@typescript-eslint/parser': ^4.26.1 chalk: ^4.1.1 cross-env: ^7.0.3 enquirer: ^2.3.6 - esbuild: ~0.12.5 - eslint: ^7.27.0 + esbuild: ^0.12.8 + eslint: ^7.28.0 eslint-config-prettier: ^8.3.0 eslint-plugin-html: ^6.1.2 eslint-plugin-jest: ^24.3.6 @@ -25,7 +24,7 @@ importers: eslint-plugin-node: ^11.1.0 eslint-plugin-prettier: ^3.4.0 eslint-plugin-svelte3: ^3.2.0 - execa: ^5.1.0 + execa: ^5.1.1 fs-extra: ^10.0.0 husky: ^6.0.0 jest: ^27.0.4 @@ -36,40 +35,39 @@ importers: node-fetch: ^2.6.1 npm-check-updates: ^11.6.0 npm-run-all: ^4.1.5 - playwright-core: ^1.11.1 - pnpm: ^6.6.2 - prettier: ^2.3.0 + playwright-core: ^1.12.0 + pnpm: ^6.7.4 + prettier: ^2.3.1 prettier-plugin-svelte: ^2.3.0 rimraf: ^3.0.2 semver: ^7.3.5 sirv: ^1.0.12 svelte: ^3.38.2 - ts-jest: ^27.0.2 + ts-jest: ^27.0.3 typescript: ^4.3.2 - vite: ^2.3.6 + vite: ^2.3.7 devDependencies: '@changesets/changelog-github': 0.4.0 '@changesets/cli': 2.16.0 - '@microsoft/api-extractor': 7.15.2 '@types/fs-extra': 9.0.11 '@types/jest': 26.0.23 - '@types/node': 15.12.0 + '@types/node': 15.12.2 '@types/semver': 7.3.6 - '@typescript-eslint/eslint-plugin': 4.26.0_025fc50e542c8e957dec903a5ef525ba - '@typescript-eslint/parser': 4.26.0_eslint@7.27.0+typescript@4.3.2 + '@typescript-eslint/eslint-plugin': 4.26.1_c8cbd5e7f5f92609ec78d991aced454b + '@typescript-eslint/parser': 4.26.1_eslint@7.28.0+typescript@4.3.2 chalk: 4.1.1 cross-env: 7.0.3 enquirer: 2.3.6 - esbuild: 0.12.5 - eslint: 7.27.0 - eslint-config-prettier: 8.3.0_eslint@7.27.0 + esbuild: 0.12.8 + eslint: 7.28.0 + eslint-config-prettier: 8.3.0_eslint@7.28.0 eslint-plugin-html: 6.1.2 - eslint-plugin-jest: 24.3.6_96f391697c1a8fe4118e43c515afd690 - eslint-plugin-markdown: 2.2.0_eslint@7.27.0 - eslint-plugin-node: 11.1.0_eslint@7.27.0 - eslint-plugin-prettier: 3.4.0_beb8ddd1fba5378f74976112c7860a07 - eslint-plugin-svelte3: 3.2.0_eslint@7.27.0+svelte@3.38.2 - execa: 5.1.0 + eslint-plugin-jest: 24.3.6_a75a172e4514a00a289d53a59e2370f9 + eslint-plugin-markdown: 2.2.0_eslint@7.28.0 + eslint-plugin-node: 11.1.0_eslint@7.28.0 + eslint-plugin-prettier: 3.4.0_441ef98f5280b4c825fe505e43fc5698 + eslint-plugin-svelte3: 3.2.0_eslint@7.28.0+svelte@3.38.2 + execa: 5.1.1 fs-extra: 10.0.0 husky: 6.0.0 jest: 27.0.4 @@ -80,17 +78,17 @@ importers: node-fetch: 2.6.1 npm-check-updates: 11.6.0 npm-run-all: 4.1.5 - playwright-core: 1.11.1 - pnpm: 6.6.2 - prettier: 2.3.0 - prettier-plugin-svelte: 2.3.0_prettier@2.3.0+svelte@3.38.2 + playwright-core: 1.12.0 + pnpm: 6.7.4 + prettier: 2.3.1 + prettier-plugin-svelte: 2.3.0_prettier@2.3.1+svelte@3.38.2 rimraf: 3.0.2 semver: 7.3.5 sirv: 1.0.12 svelte: 3.38.2 - ts-jest: 27.0.2_jest@27.0.4+typescript@4.3.2 + ts-jest: 27.0.3_jest@27.0.4+typescript@4.3.2 typescript: 4.3.2 - vite: 2.3.6 + vite: 2.3.7 packages/playground: specifiers: @@ -110,7 +108,7 @@ importers: svelte: ^3.38.2 svelte-hmr: ^0.14.4 svelte-preprocess: ^4.7.3 - vite: ^2.3.6 + vite: ^2.3.7 dependencies: playground-hmr-test-dependency: link:../hmr-test-dependency devDependencies: @@ -121,19 +119,19 @@ importers: svelte: 3.38.2 svelte-hmr: 0.14.4_svelte@3.38.2 svelte-preprocess: 4.7.3_98db3e04868c8b1b4a541d81d8c3c555 - vite: 2.3.6 + vite: 2.3.7 packages/playground/big: specifiers: '@sveltejs/vite-plugin-svelte': workspace:* svelte: ^3.38.2 svelte-hmr: ^0.14.4 - vite: ^2.3.6 + vite: ^2.3.7 devDependencies: '@sveltejs/vite-plugin-svelte': link:../../vite-plugin-svelte svelte: 3.38.2 svelte-hmr: 0.14.4_svelte@3.38.2 - vite: 2.3.6 + vite: 2.3.7 packages/playground/configfile-custom: specifiers: @@ -142,7 +140,7 @@ importers: svelte: ^3.38.2 svelte-hmr: ^0.14.4 svelte-preprocess: ^4.7.3 - vite: ^2.3.6 + vite: ^2.3.7 dependencies: playground-hmr-test-dependency: link:../hmr-test-dependency devDependencies: @@ -150,7 +148,7 @@ importers: svelte: 3.38.2 svelte-hmr: 0.14.4_svelte@3.38.2 svelte-preprocess: 4.7.3_svelte@3.38.2 - vite: 2.3.6 + vite: 2.3.7 packages/playground/configfile-esm: specifiers: @@ -159,7 +157,7 @@ importers: svelte: ^3.38.2 svelte-hmr: ^0.14.4 svelte-preprocess: ^4.7.3 - vite: ^2.3.6 + vite: ^2.3.7 dependencies: playground-hmr-test-dependency: link:../hmr-test-dependency devDependencies: @@ -167,19 +165,19 @@ importers: svelte: 3.38.2 svelte-hmr: 0.14.4_svelte@3.38.2 svelte-preprocess: 4.7.3_svelte@3.38.2 - vite: 2.3.6 + vite: 2.3.7 packages/playground/default-svelte-template: specifiers: '@sveltejs/vite-plugin-svelte': workspace:* svelte: ^3.38.2 svelte-hmr: ^0.14.4 - vite: ^2.3.6 + vite: ^2.3.7 devDependencies: '@sveltejs/vite-plugin-svelte': link:../../vite-plugin-svelte svelte: 3.38.2 svelte-hmr: 0.14.4_svelte@3.38.2 - vite: 2.3.6 + vite: 2.3.7 packages/playground/default-svelte-template-ts: specifiers: @@ -191,7 +189,7 @@ importers: svelte-preprocess: ^4.7.3 tslib: ^2.2.0 typescript: ^4.3.2 - vite: ^2.3.6 + vite: ^2.3.7 devDependencies: '@sveltejs/vite-plugin-svelte': link:../../vite-plugin-svelte '@tsconfig/svelte': 2.0.1 @@ -201,7 +199,7 @@ importers: svelte-preprocess: 4.7.3_svelte@3.38.2+typescript@4.3.2 tslib: 2.2.0 typescript: 4.3.2 - vite: 2.3.6 + vite: 2.3.7 packages/playground/hmr: specifiers: @@ -210,7 +208,7 @@ importers: playground-hmr-test-dependency: workspace:* svelte: ^3.38.2 svelte-hmr: ^0.14.4 - vite: ^2.3.6 + vite: ^2.3.7 dependencies: playground-hmr-test-dependency: link:../hmr-test-dependency devDependencies: @@ -218,7 +216,7 @@ importers: node-fetch: 2.6.1 svelte: 3.38.2 svelte-hmr: 0.14.4_svelte@3.38.2 - vite: 2.3.6 + vite: 2.3.7 packages/playground/hmr-test-dependency: specifiers: {} @@ -233,6 +231,21 @@ importers: '@sveltejs/kit': 1.0.0-next.113_svelte@3.38.2 svelte: 3.38.2 + packages/playground/package-json-svelte-field: + specifiers: + '@sveltejs/vite-plugin-svelte': workspace:* + playground-test-dependency-svelte-field: workspace:* + svelte: ^3.38.2 + svelte-hmr: ^0.14.4 + vite: ^2.3.7 + dependencies: + playground-test-dependency-svelte-field: link:../test-dependency-svelte-field + devDependencies: + '@sveltejs/vite-plugin-svelte': link:../../vite-plugin-svelte + svelte: 3.38.2 + svelte-hmr: 0.14.4_svelte@3.38.2 + vite: 2.3.7 + packages/playground/preprocess-with-vite: specifiers: '@sveltejs/vite-plugin-svelte': workspace:* @@ -240,14 +253,14 @@ importers: stylus: ^0.54.8 svelte: ^3.38.2 svelte-hmr: ^0.14.4 - vite: ^2.3.6 + vite: ^2.3.7 devDependencies: '@sveltejs/vite-plugin-svelte': link:../../vite-plugin-svelte sass: 1.34.1 stylus: 0.54.8 svelte: 3.38.2 svelte-hmr: 0.14.4_svelte@3.38.2 - vite: 2.3.6 + vite: 2.3.7 packages/playground/svelte-preprocess: specifiers: @@ -255,27 +268,30 @@ importers: svelte: ^3.38.2 svelte-preprocess: ^4.7.3 typescript: ^4.3.2 - vite: ^2.3.6 + vite: ^2.3.7 devDependencies: '@sveltejs/vite-plugin-svelte': link:../../vite-plugin-svelte svelte: 3.38.2 svelte-preprocess: 4.7.3_svelte@3.38.2+typescript@4.3.2 typescript: 4.3.2 - vite: 2.3.6 + vite: 2.3.7 + + packages/playground/test-dependency-svelte-field: + specifiers: {} packages/playground/ts-type-import: specifiers: '@sveltejs/vite-plugin-svelte': workspace:* '@tsconfig/svelte': ^2.0.1 - '@types/node': ^15.12.0 + '@types/node': ^15.12.2 svelte-preprocess: ^4.7.3 - vite: ^2.3.6 + vite: ^2.3.7 devDependencies: '@sveltejs/vite-plugin-svelte': link:../../vite-plugin-svelte '@tsconfig/svelte': 2.0.1 - '@types/node': 15.12.0 + '@types/node': 15.12.2 svelte-preprocess: 4.7.3 - vite: 2.3.6 + vite: 2.3.7 packages/playground/vite-ssr: specifiers: @@ -286,7 +302,7 @@ importers: serve-static: ^1.14.1 svelte: ^3.38.2 svelte-hmr: ^0.14.4 - vite: ^2.3.6 + vite: ^2.3.7 devDependencies: '@sveltejs/vite-plugin-svelte': link:../../vite-plugin-svelte compression: 1.7.4 @@ -295,57 +311,51 @@ importers: serve-static: 1.14.1 svelte: 3.38.2 svelte-hmr: 0.14.4_svelte@3.38.2 - vite: 2.3.6 + vite: 2.3.7 packages/playground/windicss: specifiers: '@sveltejs/vite-plugin-svelte': workspace:* svelte: ^3.38.2 svelte-hmr: ^0.14.4 - vite: ^2.3.6 - vite-plugin-windicss: ^0.17.0 - windicss: ^3.0.12 + vite: ^2.3.7 + vite-plugin-windicss: ^1.0.3 + windicss: ^3.1.3 dependencies: - windicss: 3.0.12 + windicss: 3.1.3 devDependencies: '@sveltejs/vite-plugin-svelte': link:../../vite-plugin-svelte svelte: 3.38.2 svelte-hmr: 0.14.4_svelte@3.38.2 - vite: 2.3.6 - vite-plugin-windicss: 0.17.0_vite@2.3.6 + vite: 2.3.7 + vite-plugin-windicss: 1.0.3_vite@2.3.7 packages/vite-plugin-svelte: specifiers: '@rollup/pluginutils': ^4.1.0 '@types/debug': ^4.1.5 - '@types/es-module-lexer': ^0.3.0 - '@types/estree': ^0.0.48 chalk: ^4.1.1 debug: ^4.3.2 - esbuild: ~0.12.5 - locate-character: ^2.0.5 - magic-string: ^0.25.7 + esbuild: ^0.12.8 require-relative: ^0.8.7 - rollup: ^2.50.6 + rollup: ^2.51.1 svelte: ^3.38.2 svelte-hmr: ^0.14.4 - vite: ^2.3.6 + tsup: ^4.11.2 + vite: ^2.3.7 dependencies: - '@rollup/pluginutils': 4.1.0_rollup@2.50.6 + '@rollup/pluginutils': 4.1.0_rollup@2.51.1 chalk: 4.1.1 debug: 4.3.2 require-relative: 0.8.7 svelte-hmr: 0.14.4_svelte@3.38.2 devDependencies: '@types/debug': 4.1.5 - '@types/es-module-lexer': 0.3.0 - '@types/estree': 0.0.48 - esbuild: 0.12.5 - locate-character: 2.0.5 - magic-string: 0.25.7 - rollup: 2.50.6 + esbuild: 0.12.8 + rollup: 2.51.1 svelte: 3.38.2 - vite: 2.3.6 + tsup: 4.11.2 + vite: 2.3.7 packages: @@ -860,14 +870,14 @@ packages: prettier: 1.19.1 dev: true - /@eslint/eslintrc/0.4.1: - resolution: {integrity: sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==} + /@eslint/eslintrc/0.4.2: + resolution: {integrity: sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: ajv: 6.12.6 debug: 4.3.1 espree: 7.3.1 - globals: 12.4.0 + globals: 13.9.0 ignore: 4.0.6 import-fresh: 3.3.0 js-yaml: 3.14.1 @@ -1090,7 +1100,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.3 '@types/istanbul-reports': 3.0.1 - '@types/node': 15.12.0 + '@types/node': 15.12.2 '@types/yargs': 16.0.3 chalk: 4.1.1 dev: true @@ -1114,63 +1124,24 @@ packages: read-yaml-file: 1.1.0 dev: true - /@microsoft/api-extractor-model/7.13.2: - resolution: {integrity: sha512-gA9Q8q5TPM2YYk7rLinAv9KqcodrmRC13BVmNzLswjtFxpz13lRh0BmrqD01/sddGpGMIuWFYlfUM4VSWxnggA==} - dependencies: - '@microsoft/tsdoc': 0.13.2 - '@microsoft/tsdoc-config': 0.15.2 - '@rushstack/node-core-library': 3.38.0 - dev: true - - /@microsoft/api-extractor/7.15.2: - resolution: {integrity: sha512-/Y/n+QOc1vM6Vg3OAUByT/wXdZciE7jV3ay33+vxl3aKva5cNsuOauL14T7XQWUiLko3ilPwrcnFcEjzXpLsuA==} - hasBin: true - dependencies: - '@microsoft/api-extractor-model': 7.13.2 - '@microsoft/tsdoc': 0.13.2 - '@microsoft/tsdoc-config': 0.15.2 - '@rushstack/node-core-library': 3.38.0 - '@rushstack/rig-package': 0.2.12 - '@rushstack/ts-command-line': 4.7.10 - colors: 1.2.5 - lodash: 4.17.21 - resolve: 1.17.0 - semver: 7.3.5 - source-map: 0.6.1 - typescript: 4.2.4 - dev: true - - /@microsoft/tsdoc-config/0.15.2: - resolution: {integrity: sha512-mK19b2wJHSdNf8znXSMYVShAHktVr/ib0Ck2FA3lsVBSEhSI/TfXT7DJQkAYgcztTuwazGcg58ZjYdk0hTCVrA==} - dependencies: - '@microsoft/tsdoc': 0.13.2 - ajv: 6.12.6 - jju: 1.4.0 - resolve: 1.19.0 - dev: true - - /@microsoft/tsdoc/0.13.2: - resolution: {integrity: sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg==} - dev: true - - /@nodelib/fs.scandir/2.1.4: - resolution: {integrity: sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==} + /@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} dependencies: - '@nodelib/fs.stat': 2.0.4 + '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 dev: true - /@nodelib/fs.stat/2.0.4: - resolution: {integrity: sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==} + /@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} dev: true - /@nodelib/fs.walk/1.2.6: - resolution: {integrity: sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==} + /@nodelib/fs.walk/1.2.7: + resolution: {integrity: sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA==} engines: {node: '>= 8'} dependencies: - '@nodelib/fs.scandir': 2.1.4 + '@nodelib/fs.scandir': 2.1.5 fastq: 1.11.0 dev: true @@ -1228,7 +1199,7 @@ packages: resolution: {integrity: sha512-15spi3V28QdevleWBNXE4pIls3nFZmBbUGrW9IVPwiQczuSb9n76TCB4bsk8TSel+I1OkHEdPhu5QKMfY6rQHA==} dev: true - /@rollup/pluginutils/4.1.0_rollup@2.50.6: + /@rollup/pluginutils/4.1.0_rollup@2.51.1: resolution: {integrity: sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -1236,39 +1207,9 @@ packages: dependencies: estree-walker: 2.0.2 picomatch: 2.3.0 - rollup: 2.50.6 + rollup: 2.51.1 dev: false - /@rushstack/node-core-library/3.38.0: - resolution: {integrity: sha512-cmvl0yQx8sSmbuXwiRYJi8TO+jpTtrLJQ8UmFHhKvgPVJAW8cV8dnpD1Xx/BvTGrJZ2XtRAIkAhBS9okBnap4w==} - dependencies: - '@types/node': 10.17.13 - colors: 1.2.5 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.17.0 - semver: 7.3.5 - timsort: 0.3.0 - z-schema: 3.18.4 - dev: true - - /@rushstack/rig-package/0.2.12: - resolution: {integrity: sha512-nbePcvF8hQwv0ql9aeQxcaMPK/h1OLAC00W7fWCRWIvD2MchZOE8jumIIr66HGrfG2X1sw++m/ZYI4D+BM5ovQ==} - dependencies: - resolve: 1.17.0 - strip-json-comments: 3.1.1 - dev: true - - /@rushstack/ts-command-line/4.7.10: - resolution: {integrity: sha512-8t042g8eerypNOEcdpxwRA3uCmz0duMo21rG4Z2mdz7JxJeylDmzjlU3wDdef2t3P1Z61JCdZB6fbm1Mh0zi7w==} - dependencies: - '@types/argparse': 1.0.38 - argparse: 1.0.10 - colors: 1.2.5 - string-argv: 0.3.1 - dev: true - /@sindresorhus/is/0.14.0: resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} engines: {node: '>=6'} @@ -1301,7 +1242,7 @@ packages: cheap-watch: 1.0.3 sade: 1.7.4 svelte: 3.38.2 - vite: 2.3.6 + vite: 2.3.7 dev: true /@szmarczak/http-timer/1.1.2: @@ -1320,10 +1261,6 @@ packages: resolution: {integrity: sha512-aqkICXbM1oX5FfgZd2qSSAGdyo/NRxjWCamxoyi3T8iVQnzGge19HhDYzZ6NrVOW7bhcWNSq9XexWFtMzbB24A==} dev: true - /@types/argparse/1.0.38: - resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} - dev: true - /@types/babel__core/7.1.14: resolution: {integrity: sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==} dependencies: @@ -1357,14 +1294,6 @@ packages: resolution: {integrity: sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==} dev: true - /@types/es-module-lexer/0.3.0: - resolution: {integrity: sha512-XI3MGSejUQIJ3wzY0i5IHy5J3eb36M/ytgG8jIOssP08ovtRPcjpjXQqrx51AHBNBOisTS/NQNWJitI17+EwzQ==} - dev: true - - /@types/estree/0.0.48: - resolution: {integrity: sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==} - dev: true - /@types/fs-extra/9.0.11: resolution: {integrity: sha512-mZsifGG4QeQ7hlkhO56u7zt/ycBgGxSVsFI/6lGTU34VtwkiqrrSDgw0+ygs8kFGWcXnFQWMrzF2h7TtDFNixA==} dependencies: @@ -1414,10 +1343,6 @@ packages: resolution: {integrity: sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==} dev: true - /@types/node/10.17.13: - resolution: {integrity: sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg==} - dev: true - /@types/node/12.20.14: resolution: {integrity: sha512-iFJOS5Q470FF+r4Ol2pSley7/wCNVqf+jgjhtxLLaJcDs+To2iCxlXIkJXrGLD9w9G/oJ9ibySu7z92DCwr7Pg==} dev: true @@ -1426,6 +1351,10 @@ packages: resolution: {integrity: sha512-+aHJvoCsVhO2ZCuT4o5JtcPrCPyDE3+1nvbDprYes+pPkEsbjH7AGUCNtjMOXS0fqH14t+B7yLzaqSz92FPWyw==} dev: true + /@types/node/15.12.2: + resolution: {integrity: sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==} + dev: true + /@types/node/15.6.2: resolution: {integrity: sha512-dxcOx8801kMo3KlU+C+/ctWrzREAH7YvoF3aoVpRdqgs+Kf7flp+PJDN/EX5bME3suDUZHsxes9hpvBmzYlWbA==} dev: true @@ -1487,12 +1416,12 @@ packages: /@types/yauzl/2.9.1: resolution: {integrity: sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==} dependencies: - '@types/node': 15.6.2 + '@types/node': 15.12.2 dev: true optional: true - /@typescript-eslint/eslint-plugin/4.26.0_025fc50e542c8e957dec903a5ef525ba: - resolution: {integrity: sha512-yA7IWp+5Qqf+TLbd8b35ySFOFzUfL7i+4If50EqvjT6w35X8Lv0eBHb6rATeWmucks37w+zV+tWnOXI9JlG6Eg==} + /@typescript-eslint/eslint-plugin/4.26.1_c8cbd5e7f5f92609ec78d991aced454b: + resolution: {integrity: sha512-aoIusj/8CR+xDWmZxARivZjbMBQTT9dImUtdZ8tVCVRXgBUuuZyM5Of5A9D9arQPxbi/0rlJLcuArclz/rCMJw==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: '@typescript-eslint/parser': ^4.0.0 @@ -1502,11 +1431,11 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/experimental-utils': 4.26.0_eslint@7.27.0+typescript@4.3.2 - '@typescript-eslint/parser': 4.26.0_eslint@7.27.0+typescript@4.3.2 - '@typescript-eslint/scope-manager': 4.26.0 + '@typescript-eslint/experimental-utils': 4.26.1_eslint@7.28.0+typescript@4.3.2 + '@typescript-eslint/parser': 4.26.1_eslint@7.28.0+typescript@4.3.2 + '@typescript-eslint/scope-manager': 4.26.1 debug: 4.3.1 - eslint: 7.27.0 + eslint: 7.28.0 functional-red-black-tree: 1.0.1 lodash: 4.17.21 regexpp: 3.1.0 @@ -1517,7 +1446,7 @@ packages: - supports-color dev: true - /@typescript-eslint/experimental-utils/4.26.0_eslint@7.27.0+typescript@4.3.2: + /@typescript-eslint/experimental-utils/4.26.0_eslint@7.28.0+typescript@4.3.2: resolution: {integrity: sha512-TH2FO2rdDm7AWfAVRB5RSlbUhWxGVuxPNzGT7W65zVfl8H/WeXTk1e69IrcEVsBslrQSTDKQSaJD89hwKrhdkw==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -1527,16 +1456,34 @@ packages: '@typescript-eslint/scope-manager': 4.26.0 '@typescript-eslint/types': 4.26.0 '@typescript-eslint/typescript-estree': 4.26.0_typescript@4.3.2 - eslint: 7.27.0 + eslint: 7.28.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0_eslint@7.28.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/experimental-utils/4.26.1_eslint@7.28.0+typescript@4.3.2: + resolution: {integrity: sha512-sQHBugRhrXzRCs9PaGg6rowie4i8s/iD/DpTB+EXte8OMDfdCG5TvO73XlO9Wc/zi0uyN4qOmX9hIjQEyhnbmQ==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + eslint: '*' + dependencies: + '@types/json-schema': 7.0.7 + '@typescript-eslint/scope-manager': 4.26.1 + '@typescript-eslint/types': 4.26.1 + '@typescript-eslint/typescript-estree': 4.26.1_typescript@4.3.2 + eslint: 7.28.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@7.27.0 + eslint-utils: 3.0.0_eslint@7.28.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/parser/4.26.0_eslint@7.27.0+typescript@4.3.2: - resolution: {integrity: sha512-b4jekVJG9FfmjUfmM4VoOItQhPlnt6MPOBUL0AQbiTmm+SSpSdhHYlwayOm4IW9KLI/4/cRKtQCmDl1oE2OlPg==} + /@typescript-eslint/parser/4.26.1_eslint@7.28.0+typescript@4.3.2: + resolution: {integrity: sha512-q7F3zSo/nU6YJpPJvQveVlIIzx9/wu75lr6oDbDzoeIRWxpoc/HQ43G4rmMoCc5my/3uSj2VEpg/D83LYZF5HQ==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 @@ -1545,11 +1492,11 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 4.26.0 - '@typescript-eslint/types': 4.26.0 - '@typescript-eslint/typescript-estree': 4.26.0_typescript@4.3.2 + '@typescript-eslint/scope-manager': 4.26.1 + '@typescript-eslint/types': 4.26.1 + '@typescript-eslint/typescript-estree': 4.26.1_typescript@4.3.2 debug: 4.3.1 - eslint: 7.27.0 + eslint: 7.28.0 typescript: 4.3.2 transitivePeerDependencies: - supports-color @@ -1563,11 +1510,24 @@ packages: '@typescript-eslint/visitor-keys': 4.26.0 dev: true + /@typescript-eslint/scope-manager/4.26.1: + resolution: {integrity: sha512-TW1X2p62FQ8Rlne+WEShyd7ac2LA6o27S9i131W4NwDSfyeVlQWhw8ylldNNS8JG6oJB9Ha9Xyc+IUcqipvheQ==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + dependencies: + '@typescript-eslint/types': 4.26.1 + '@typescript-eslint/visitor-keys': 4.26.1 + dev: true + /@typescript-eslint/types/4.26.0: resolution: {integrity: sha512-rADNgXl1kS/EKnDr3G+m7fB9yeJNnR9kF7xMiXL6mSIWpr3Wg5MhxyfEXy/IlYthsqwBqHOr22boFbf/u6O88A==} engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} dev: true + /@typescript-eslint/types/4.26.1: + resolution: {integrity: sha512-STyMPxR3cS+LaNvS8yK15rb8Y0iL0tFXq0uyl6gY45glyI7w0CsyqyEXl/Fa0JlQy+pVANeK3sbwPneCbWE7yg==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + dev: true + /@typescript-eslint/typescript-estree/4.26.0_typescript@4.3.2: resolution: {integrity: sha512-GHUgahPcm9GfBuy3TzdsizCcPjKOAauG9xkz9TR8kOdssz2Iz9jRCSQm6+aVFa23d5NcSpo1GdHGSQKe0tlcbg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1589,6 +1549,27 @@ packages: - supports-color dev: true + /@typescript-eslint/typescript-estree/4.26.1_typescript@4.3.2: + resolution: {integrity: sha512-l3ZXob+h0NQzz80lBGaykdScYaiEbFqznEs99uwzm8fPHhDjwaBFfQkjUC/slw6Sm7npFL8qrGEAMxcfBsBJUg==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 4.26.1 + '@typescript-eslint/visitor-keys': 4.26.1 + debug: 4.3.1 + globby: 11.0.3 + is-glob: 4.0.1 + semver: 7.3.5 + tsutils: 3.21.0_typescript@4.3.2 + typescript: 4.3.2 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/visitor-keys/4.26.0: resolution: {integrity: sha512-cw4j8lH38V1ycGBbF+aFiLUls9Z0Bw8QschP3mkth50BbWzgFS33ISIgBzUMuQ2IdahoEv/rXstr8Zhlz4B1Zg==} engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} @@ -1597,8 +1578,16 @@ packages: eslint-visitor-keys: 2.1.0 dev: true - /@windicss/plugin-utils/0.17.0: - resolution: {integrity: sha512-abRdBdA0hZKuixWq8a7bdi5KNvLEGtcQSGcE6mV83Xbjs8XWYY/S8g7Icy4g/0/SQLW2cda+jj14hkYTMlk5fw==} + /@typescript-eslint/visitor-keys/4.26.1: + resolution: {integrity: sha512-IGouNSSd+6x/fHtYRyLOM6/C+QxMDzWlDtN41ea+flWuSF9g02iqcIlX8wM53JkfljoIjP0U+yp7SiTS1onEkw==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + dependencies: + '@typescript-eslint/types': 4.26.1 + eslint-visitor-keys: 2.1.0 + dev: true + + /@windicss/plugin-utils/1.0.3: + resolution: {integrity: sha512-SBYjmWBO+dOqxJgyyOAETOuMdcugvVgZYQc3rb7KtcTW5u9UkFXtiuGdoq8cWyFpSkn46gmjCb4WNbY3kEIVnQ==} dependencies: '@antfu/utils': 0.1.6 debug: 4.3.2 @@ -1606,7 +1595,7 @@ packages: jiti: 1.10.1 magic-string: 0.25.7 micromatch: 4.0.4 - windicss: 3.0.12 + windicss: 3.1.3 transitivePeerDependencies: - supports-color dev: true @@ -1767,6 +1756,10 @@ packages: engines: {node: '>=10'} dev: true + /any-promise/1.3.0: + resolution: {integrity: sha1-q8av7tzqUugJzcA3au0845Y10X8=} + dev: true + /anymatch/3.1.2: resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} engines: {node: '>= 8'} @@ -2069,6 +2062,11 @@ packages: engines: {node: '>= 0.8'} dev: true + /cac/6.7.3: + resolution: {integrity: sha512-ECVqVZh74qgSuZG9YOt2OJPI3wGcf+EwwuF/XIOYqZBD0KZYLtgPWqFPxmDPQ6joxI1nOlvVgRV6VT53Ooyocg==} + engines: {node: '>=8'} + dev: true + /cacache/15.2.0: resolution: {integrity: sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw==} engines: {node: '>= 10'} @@ -2341,11 +2339,6 @@ packages: engines: {node: '>=0.1.90'} dev: true - /colors/1.2.5: - resolution: {integrity: sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==} - engines: {node: '>=0.1.90'} - dev: true - /combined-stream/1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -2353,10 +2346,10 @@ packages: delayed-stream: 1.0.0 dev: true - /commander/2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + /commander/4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} dev: true - optional: true /commander/6.2.1: resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} @@ -2871,8 +2864,8 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild/0.12.5: - resolution: {integrity: sha512-vcuP53pA5XiwUU4FnlXM+2PnVjTfHGthM7uP1gtp+9yfheGvFFbq/KyuESThmtoHPUrfZH5JpxGVJIFDVD1Egw==} + /esbuild/0.12.8: + resolution: {integrity: sha512-sx/LwlP/SWTGsd9G4RlOPrXnIihAJ2xwBUmzoqe2nWwbXORMQWtAGNJNYLBJJqa3e9PWvVzxdrtyFZJcr7D87g==} hasBin: true requiresBuild: true dev: true @@ -2919,22 +2912,22 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-prettier/8.3.0_eslint@7.27.0: + /eslint-config-prettier/8.3.0_eslint@7.28.0: resolution: {integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 7.27.0 + eslint: 7.28.0 dev: true - /eslint-plugin-es/3.0.1_eslint@7.27.0: + /eslint-plugin-es/3.0.1_eslint@7.28.0: resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 7.27.0 + eslint: 7.28.0 eslint-utils: 2.1.0 regexpp: 3.1.0 dev: true @@ -2945,7 +2938,7 @@ packages: htmlparser2: 6.1.0 dev: true - /eslint-plugin-jest/24.3.6_96f391697c1a8fe4118e43c515afd690: + /eslint-plugin-jest/24.3.6_a75a172e4514a00a289d53a59e2370f9: resolution: {integrity: sha512-WOVH4TIaBLIeCX576rLcOgjNXqP+jNlCiEmRgFTfQtJ52DpwnIQKAVGlGPAN7CZ33bW6eNfHD6s8ZbEUTQubJg==} engines: {node: '>=10'} peerDependencies: @@ -2955,34 +2948,34 @@ packages: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 4.26.0_025fc50e542c8e957dec903a5ef525ba - '@typescript-eslint/experimental-utils': 4.26.0_eslint@7.27.0+typescript@4.3.2 - eslint: 7.27.0 + '@typescript-eslint/eslint-plugin': 4.26.1_c8cbd5e7f5f92609ec78d991aced454b + '@typescript-eslint/experimental-utils': 4.26.0_eslint@7.28.0+typescript@4.3.2 + eslint: 7.28.0 transitivePeerDependencies: - supports-color - typescript dev: true - /eslint-plugin-markdown/2.2.0_eslint@7.27.0: + /eslint-plugin-markdown/2.2.0_eslint@7.28.0: resolution: {integrity: sha512-Ctuc7aP1tU92qnFwVO1wDLEzf1jqMxwRkcSTw7gjbvnEqfh5CKUcTXM0sxg8CB2KDXrqpTuMZPgJ1XE9Olr7KA==} engines: {node: ^8.10.0 || ^10.12.0 || >= 12.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: - eslint: 7.27.0 + eslint: 7.28.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-node/11.1.0_eslint@7.27.0: + /eslint-plugin-node/11.1.0_eslint@7.28.0: resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=5.16.0' dependencies: - eslint: 7.27.0 - eslint-plugin-es: 3.0.1_eslint@7.27.0 + eslint: 7.28.0 + eslint-plugin-es: 3.0.1_eslint@7.28.0 eslint-utils: 2.1.0 ignore: 5.1.8 minimatch: 3.0.4 @@ -2990,7 +2983,7 @@ packages: semver: 6.3.0 dev: true - /eslint-plugin-prettier/3.4.0_beb8ddd1fba5378f74976112c7860a07: + /eslint-plugin-prettier/3.4.0_441ef98f5280b4c825fe505e43fc5698: resolution: {integrity: sha512-UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw==} engines: {node: '>=6.0.0'} peerDependencies: @@ -3001,20 +2994,20 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 7.27.0 - eslint-config-prettier: 8.3.0_eslint@7.27.0 - prettier: 2.3.0 + eslint: 7.28.0 + eslint-config-prettier: 8.3.0_eslint@7.28.0 + prettier: 2.3.1 prettier-linter-helpers: 1.0.0 dev: true - /eslint-plugin-svelte3/3.2.0_eslint@7.27.0+svelte@3.38.2: + /eslint-plugin-svelte3/3.2.0_eslint@7.28.0+svelte@3.38.2: resolution: {integrity: sha512-qdWB1QN21dEozsJFdR8XlEhMnsS6aKHjsXWuNmchYwxoet5I6QdCr1Xcq62++IzRBMCNCeH4waXqSOAdqrZzgA==} engines: {node: '>=10'} peerDependencies: eslint: '>=6.0.0' svelte: ^3.2.0 dependencies: - eslint: 7.27.0 + eslint: 7.28.0 svelte: 3.38.2 dev: true @@ -3033,13 +3026,13 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /eslint-utils/3.0.0_eslint@7.27.0: + /eslint-utils/3.0.0_eslint@7.28.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 7.27.0 + eslint: 7.28.0 eslint-visitor-keys: 2.1.0 dev: true @@ -3053,13 +3046,13 @@ packages: engines: {node: '>=10'} dev: true - /eslint/7.27.0: - resolution: {integrity: sha512-JZuR6La2ZF0UD384lcbnd0Cgg6QJjiCwhMD6eU4h/VGPcVGwawNNzKU41tgokGXnfjOOyI6QIffthhJTPzzuRA==} + /eslint/7.28.0: + resolution: {integrity: sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g==} engines: {node: ^10.12.0 || >=12.0.0} hasBin: true dependencies: '@babel/code-frame': 7.12.11 - '@eslint/eslintrc': 0.4.1 + '@eslint/eslintrc': 0.4.2 ajv: 6.12.6 chalk: 4.1.1 cross-spawn: 7.0.3 @@ -3197,6 +3190,21 @@ packages: strip-final-newline: 2.0.0 dev: true + /execa/5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.0 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.3 + strip-final-newline: 2.0.0 + dev: true + /exit/0.1.2: resolution: {integrity: sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=} engines: {node: '>= 0.8.0'} @@ -3298,8 +3306,8 @@ packages: resolution: {integrity: sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==} engines: {node: '>=8'} dependencies: - '@nodelib/fs.stat': 2.0.4 - '@nodelib/fs.walk': 1.2.6 + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.7 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.4 @@ -3581,6 +3589,17 @@ packages: is-glob: 4.0.1 dev: true + /glob/7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.0.4 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + /glob/7.1.7: resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} dependencies: @@ -3604,13 +3623,6 @@ packages: engines: {node: '>=4'} dev: true - /globals/12.4.0: - resolution: {integrity: sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.8.1 - dev: true - /globals/13.9.0: resolution: {integrity: sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==} engines: {node: '>=8'} @@ -3873,11 +3885,6 @@ packages: engines: {node: '>=4'} dev: true - /import-lazy/4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} - dev: true - /import-local/3.0.2: resolution: {integrity: sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==} engines: {node: '>=8'} @@ -4645,7 +4652,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.0.2 - '@types/node': 15.12.0 + '@types/node': 15.12.2 chalk: 4.1.1 graceful-fs: 4.2.6 is-ci: 3.0.0 @@ -4716,6 +4723,11 @@ packages: resolution: {integrity: sha1-o6vicYryQaKykE+EpiWXDzia4yo=} dev: true + /joycon/3.0.1: + resolution: {integrity: sha512-SJcJNBg32dGgxhPtM0wQqxqV0ax9k/9TaUskGDSJkSFSQOEWWvQ3zzWdGQRIUry2j1zA5+ReH13t0Mf3StuVZA==} + engines: {node: '>=10'} + dev: true + /jpeg-js/0.4.3: resolution: {integrity: sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==} dev: true @@ -4985,10 +4997,6 @@ packages: strip-bom: 3.0.0 dev: true - /locate-character/2.0.5: - resolution: {integrity: sha512-n2GmejDXtOPBAZdIiEFy5dJ5N38xBCXLNOtw2WpB9kGh6pnrEuKlwYI+Tkpofc4wDtVXHtoAOJaMRlYG/oYaxg==} - dev: true - /locate-path/3.0.0: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} engines: {node: '>=6'} @@ -5015,14 +5023,6 @@ packages: resolution: {integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=} dev: true - /lodash.get/4.4.2: - resolution: {integrity: sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=} - dev: true - - /lodash.isequal/4.5.0: - resolution: {integrity: sha1-QVxEePK8wwEgwizhDtMib30+GOA=} - dev: true - /lodash.merge/4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true @@ -5385,6 +5385,14 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true + /mz/2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + /nanoid/3.1.23: resolution: {integrity: sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -5957,8 +5965,8 @@ packages: find-up: 4.1.0 dev: true - /playwright-core/1.11.1: - resolution: {integrity: sha512-EQ/K7WucNHiL5AkFBLWNyIGWqPcD/m/k5LmYn5fgAf7mbInGTFkiZgQHibz+ZwEPb+NvcaEO7WVVZr3MrIzUpA==} + /playwright-core/1.12.0: + resolution: {integrity: sha512-yPJqYwXMvc/Ptx6Z/aYnwx6oxa6ic3yqK0xyokr2BIVQoWdIHvzLIAGA4TjQ6Ykq/QebUW4mIN1ZXX/KiB1QyQ==} engines: {node: '>=12'} hasBin: true requiresBuild: true @@ -5994,8 +6002,8 @@ packages: engines: {node: '>=10.13.0'} dev: true - /pnpm/6.6.2: - resolution: {integrity: sha512-w1YEyx+xiTbrxVt5OP6JG0LqwkK/hq2OkCYj7RZhK9oyv7cCEkgkX5Z5MPVC1wTCv2kQDJRoXzBeedPiIhzN8Q==} + /pnpm/6.7.4: + resolution: {integrity: sha512-XdVdy9s2IL84SEWeHGg9nVr5hVF3Nim05UXqtrst1FS5PJdQM+uDazgHIaFMIpPvvWRt5cPYuFj70dOMX6jZCQ==} engines: {node: '>=12.17'} hasBin: true dev: true @@ -6053,13 +6061,13 @@ packages: fast-diff: 1.2.0 dev: true - /prettier-plugin-svelte/2.3.0_prettier@2.3.0+svelte@3.38.2: + /prettier-plugin-svelte/2.3.0_prettier@2.3.1+svelte@3.38.2: resolution: {integrity: sha512-HTzXvSq7lWFuLsSaxYOUkGkVNCl3RrSjDCOgQjkBX5FQGmWjL8o3IFACSGhjPMMfWKADpapAr0zdbBWkND9mqw==} peerDependencies: prettier: ^1.16.4 || ^2.0.0 svelte: ^3.2.0 dependencies: - prettier: 2.3.0 + prettier: 2.3.1 svelte: 3.38.2 dev: true @@ -6069,8 +6077,8 @@ packages: hasBin: true dev: true - /prettier/2.3.0: - resolution: {integrity: sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==} + /prettier/2.3.1: + resolution: {integrity: sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -6398,19 +6406,6 @@ packages: deprecated: https://github.com/lydell/resolve-url#deprecated dev: true - /resolve/1.17.0: - resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} - dependencies: - path-parse: 1.0.7 - dev: true - - /resolve/1.19.0: - resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} - dependencies: - is-core-module: 2.4.0 - path-parse: 1.0.7 - dev: true - /resolve/1.20.0: resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} dependencies: @@ -6449,16 +6444,16 @@ packages: glob: 7.1.7 dev: true - /rollup/2.50.5: - resolution: {integrity: sha512-Ztz4NurU2LbS3Jn5rlhnYv35z6pkjBUmYKr94fOBIKINKRO6kug9NTFHArT7jqwMP2kqEZ39jJuEtkk91NBltQ==} + /rollup/2.50.6: + resolution: {integrity: sha512-6c5CJPLVgo0iNaZWWliNu1Kl43tjP9LZcp6D/tkf2eLH2a9/WeHxg9vfTFl8QV/2SOyaJX37CEm9XuGM0rviUg==} engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.2 dev: true - /rollup/2.50.6: - resolution: {integrity: sha512-6c5CJPLVgo0iNaZWWliNu1Kl43tjP9LZcp6D/tkf2eLH2a9/WeHxg9vfTFl8QV/2SOyaJX37CEm9XuGM0rviUg==} + /rollup/2.51.1: + resolution: {integrity: sha512-8xfDbAtBleXotb6qKEHWuo/jkn94a9dVqGc7Rwl3sqspCVlnCfbRek7ldhCARSi7h32H0xR4QThm1t9zHN+3uw==} engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: @@ -6979,6 +6974,19 @@ packages: source-map: 0.7.3 dev: true + /sucrase/3.18.1: + resolution: {integrity: sha512-TRyO38wwOPhLLlM8QLOG3TgMj0FKk+arlTrS9pRAanF8cAcHvgRPKIYWGO25mPSp/Rj87zMMTjFfkqIZGI6ZdA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.1.6 + mz: 2.7.0 + pirates: 4.0.1 + ts-interface-checker: 0.1.13 + dev: true + /supports-color/5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -7303,6 +7311,19 @@ packages: resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} dev: true + /thenify-all/1.6.0: + resolution: {integrity: sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: true + + /thenify/3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: true + /throat/6.0.1: resolution: {integrity: sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==} dev: true @@ -7311,10 +7332,6 @@ packages: resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=} dev: true - /timsort/0.3.0: - resolution: {integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=} - dev: true - /tmp/0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -7387,8 +7404,12 @@ packages: engines: {node: '>=8'} dev: true - /ts-jest/27.0.2_jest@27.0.4+typescript@4.3.2: - resolution: {integrity: sha512-pozjHOOfm+sbv9kXCvTFVyDntWvuJztzkNFql/akD75hSMZ2jsbidVauOhBRImAopXohqcLtPK/NTTIS8Y49Ug==} + /ts-interface-checker/0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: true + + /ts-jest/27.0.3_jest@27.0.4+typescript@4.3.2: + resolution: {integrity: sha512-U5rdMjnYam9Ucw+h0QvtNDbc5+88nxt7tbIvqaZUhFrfG4+SkWhMXjejCLVGcpILTPuV+H3W/GZDZrnZFpPeXw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true peerDependencies: @@ -7417,6 +7438,32 @@ packages: resolution: {integrity: sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==} dev: true + /tsup/4.11.2: + resolution: {integrity: sha512-cp+gy0TGzFm/3PkPNeiZ2Fvi4MKI8jj6Xq6gVpSQ+Og+6GPqfws2K4zYo11OJoccuk2LnlJIJt8xwnoYCVGpSA==} + hasBin: true + peerDependencies: + typescript: ^4.2.3 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + cac: 6.7.3 + chalk: 4.1.1 + chokidar: 3.5.1 + debug: 4.3.2 + esbuild: 0.12.8 + execa: 5.1.1 + globby: 11.0.3 + joycon: 3.0.1 + postcss-load-config: 3.0.1 + resolve-from: 5.0.0 + rollup: 2.50.6 + sucrase: 3.18.1 + tree-kill: 1.2.2 + transitivePeerDependencies: + - supports-color + dev: true + /tsutils/3.21.0_typescript@4.3.2: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -7508,12 +7555,6 @@ packages: is-typedarray: 1.0.0 dev: true - /typescript/4.2.4: - resolution: {integrity: sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - /typescript/4.3.2: resolution: {integrity: sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==} engines: {node: '>=4.2.0'} @@ -7648,11 +7689,6 @@ packages: builtins: 1.0.3 dev: true - /validator/8.2.0: - resolution: {integrity: sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA==} - engines: {node: '>= 0.10'} - dev: true - /vary/1.1.2: resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=} engines: {node: '>= 0.8'} @@ -7667,29 +7703,29 @@ packages: extsprintf: 1.3.0 dev: true - /vite-plugin-windicss/0.17.0_vite@2.3.6: - resolution: {integrity: sha512-zbx4J209cqxPpJECWr8nwqDMloUvMmni+GJFvrVBboU0bb/0+mXFQj9VMVsbe7Ac00/vC0i7D0ml65x1PiXf4w==} + /vite-plugin-windicss/1.0.3_vite@2.3.7: + resolution: {integrity: sha512-y9pudcMajdI88PTs49qGftlfAvsLUUhK2Eig+xn5sgxPCbAc3Rj5phXJkRzGDqfmEzGwbpF6JwjmiGmZkm8V+g==} peerDependencies: - vite: ^2.3.6 + vite: ^2.3.7 dependencies: - '@windicss/plugin-utils': 0.17.0 + '@windicss/plugin-utils': 1.0.3 chalk: 4.1.1 debug: 4.3.2 - vite: 2.3.6 - windicss: 3.0.12 + vite: 2.3.7 + windicss: 3.1.3 transitivePeerDependencies: - supports-color dev: true - /vite/2.3.6: - resolution: {integrity: sha512-fsEpNKDHgh3Sn66JH06ZnUBnIgUVUtw6ucDhlOj1CEqxIkymU25yv1/kWDPlIjyYHnalr0cN6V+zzUJ+fmWHYw==} + /vite/2.3.7: + resolution: {integrity: sha512-Y0xRz11MPYu/EAvzN94+FsOZHbSvO6FUvHv127CyG7mV6oDoay2bw+g5y9wW3Blf8OY3chaz3nc/DcRe1IQ3Nw==} engines: {node: '>=12.0.0'} hasBin: true dependencies: - esbuild: 0.12.5 + esbuild: 0.12.8 postcss: 8.3.0 resolve: 1.20.0 - rollup: 2.50.5 + rollup: 2.51.1 optionalDependencies: fsevents: 2.3.2 dev: true @@ -7805,8 +7841,8 @@ packages: string-width: 4.2.2 dev: true - /windicss/3.0.12: - resolution: {integrity: sha512-pDxtFLN0xmL7bnGtnEfu9z7B5279UM2EP8wWlPH+FYb5gjHyONxRtyWtR5QIn1FRx6h1UXpm+I19GgTx5Y4TyA==} + /windicss/3.1.3: + resolution: {integrity: sha512-l7fpoba2LY9AYRy4UgcuOpbPsed8UsbpEQYUVWRR1wdAwiKxK6bGIMfpiKJtjPAPdh0GOGUqr6KJar0EDZSxzg==} engines: {node: '>= 12'} hasBin: true @@ -7958,14 +7994,3 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} dev: true - - /z-schema/3.18.4: - resolution: {integrity: sha512-DUOKC/IhbkdLKKiV89gw9DUauTV8U/8yJl1sjf6MtDmzevLKOF2duNJ495S3MFVjqZarr+qNGCPbkg4mu4PpLw==} - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 8.2.0 - optionalDependencies: - commander: 2.20.3 - dev: true From b57d4196f56dfc567ca9ec5c723e2b0ab7dedff3 Mon Sep 17 00:00:00 2001 From: dominikg Date: Wed, 9 Jun 2021 15:20:50 +0200 Subject: [PATCH 2/6] disable eslint on partial js in readme --- packages/vite-plugin-svelte/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/vite-plugin-svelte/README.md b/packages/vite-plugin-svelte/README.md index eee661132..9c4f32b93 100644 --- a/packages/vite-plugin-svelte/README.md +++ b/packages/vite-plugin-svelte/README.md @@ -51,6 +51,8 @@ For more Information check [options.ts](src/utils/options.ts) When importing any third-party libraries that uses Svelte's lifecycle API, e.g. `onMount`, `setContext`, and others, they need to be excluded from Vite's dependency pre-bundling process: + + ```js // vite.config.js { From ad58ef732deb4fbf7242ddc2f3c3dc056c68e4ef Mon Sep 17 00:00:00 2001 From: dominikg Date: Wed, 9 Jun 2021 15:37:04 +0200 Subject: [PATCH 3/6] changeset --- .changeset/happy-toys-boil.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .changeset/happy-toys-boil.md diff --git a/.changeset/happy-toys-boil.md b/.changeset/happy-toys-boil.md new file mode 100644 index 000000000..46ebd598c --- /dev/null +++ b/.changeset/happy-toys-boil.md @@ -0,0 +1,15 @@ +--- +'@sveltejs/vite-plugin-svelte': major +--- + +feat: convert to es module and provide cjs fallback + +If you are using vite-plugin-svelte with require, you should switch to esm and use import. +An example can be found in the usage section of the [readme](README.md) + +continuing with cjs/require is discouraged but if you must use it, update your require statement to add `.default` + +```diff +- const svelte = require('@sveltejs/vite-plugin-svelte'); ++ const svelte = require('@sveltejs/vite-plugin-svelte').default; +``` From d736f0108d232ada6d2afc439bb85a65a4bc28da Mon Sep 17 00:00:00 2001 From: dominikg Date: Wed, 9 Jun 2021 16:03:53 +0200 Subject: [PATCH 4/6] chore: fix formatting --- package.json | 4 ++-- .../playground/package-json-svelte-field/package.json | 8 ++++---- packages/vite-plugin-svelte/tsconfig.json | 4 +--- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 881ef5313..fad37b3c5 100644 --- a/package.json +++ b/package.json @@ -15,9 +15,9 @@ "test:ci:serve": "cross-env VITE_PRESERVE_BUILD_ARTIFACTS=1 jest --verbose --no-cache --runInBand --force-exit --ci --json --outputFile=\"temp/serve/jest-results.json\"", "test:ci:build": "cross-env VITE_TEST_BUILD=1 VITE_PRESERVE_BUILD_ARTIFACTS=1 jest --verbose --no-cache --runInBand --force-exit --ci --json --outputFile=\"temp/build/jest-results.json\"", "lint": "eslint --ignore-path .gitignore '**/*.{js,ts,svelte,html,svx,md}'", - "lint:fix": "pnpm lint -- --fix", + "lint:fix": "pnpm run lint -- --fix", "format": "prettier --ignore-path .gitignore '**/*.{css,scss,svelte,html,js,ts,svx,md}' --check", - "format:fix": "pnpm format -- --write", + "format:fix": "pnpm run format -- --write", "fixup": "run-s lint:fix format:fix", "update-deps": "ncu -u && ncu -f \"/^@sveltejs\\/(?:kit|adapter)/\" --target=greatest -u", "release": "pnpm run build && pnpx --no changeset publish", diff --git a/packages/playground/package-json-svelte-field/package.json b/packages/playground/package-json-svelte-field/package.json index 650b9cc35..9921b9abc 100644 --- a/packages/playground/package-json-svelte-field/package.json +++ b/packages/playground/package-json-svelte-field/package.json @@ -1,14 +1,14 @@ { "name": "playground-package-json-svelte-field", - "private": true, + "private": true, "version": "1.0.0", "scripts": { "build": "vite build", "dev": "vite" }, - "dependencies": { - "playground-test-dependency-svelte-field": "workspace:*" - }, + "dependencies": { + "playground-test-dependency-svelte-field": "workspace:*" + }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:*", "svelte": "^3.38.2", diff --git a/packages/vite-plugin-svelte/tsconfig.json b/packages/vite-plugin-svelte/tsconfig.json index ccd36c7a3..230e1974f 100644 --- a/packages/vite-plugin-svelte/tsconfig.json +++ b/packages/vite-plugin-svelte/tsconfig.json @@ -1,8 +1,6 @@ { "include": ["src"], - "exclude": [ - "**/*.spec.ts" - ], + "exclude": ["**/*.spec.ts"], "compilerOptions": { "outDir": "dist", "target": "ES2019", From b4b53dfa1cc6d4e44cfd8edfedd0b2b148f69dcd Mon Sep 17 00:00:00 2001 From: dominikg Date: Thu, 10 Jun 2021 11:24:25 +0200 Subject: [PATCH 5/6] use named export 'svelte' and provide deprecation warning in default export --- .changeset/happy-toys-boil.md | 6 +-- .../autoprefixer-browerslist/vite.config.js | 2 +- packages/playground/big/vite.config.js | 2 +- .../configfile-custom/vite.config.js | 2 +- .../playground/configfile-esm/vite.config.js | 2 +- .../default-svelte-template-ts/vite.config.js | 2 +- .../default-svelte-template/vite.config.js | 2 +- packages/playground/hmr/vite.config.js | 2 +- .../package-json-svelte-field/vite.config.js | 2 +- .../preprocess-with-vite/vite.config.js | 2 +- .../svelte-preprocess/vite.config.js | 2 +- .../playground/ts-type-import/vite.config.js | 2 +- packages/playground/vite-ssr/vite.config.js | 2 +- packages/playground/windicss/vite.config.js | 2 +- packages/vite-plugin-svelte/README.md | 4 +- packages/vite-plugin-svelte/src/index.ts | 42 ++++++++++++------- packages/vite-plugin-svelte/tsconfig.json | 2 +- 17 files changed, 47 insertions(+), 33 deletions(-) diff --git a/.changeset/happy-toys-boil.md b/.changeset/happy-toys-boil.md index 46ebd598c..4f4e5dad0 100644 --- a/.changeset/happy-toys-boil.md +++ b/.changeset/happy-toys-boil.md @@ -4,12 +4,12 @@ feat: convert to es module and provide cjs fallback -If you are using vite-plugin-svelte with require, you should switch to esm and use import. +If you are using vite-plugin-svelte with require, you should switch to esm and import the named export "svelte". An example can be found in the usage section of the [readme](README.md) -continuing with cjs/require is discouraged but if you must use it, update your require statement to add `.default` +continuing with cjs/require is discouraged but if you must use it, update your require statement to use the named export ```diff - const svelte = require('@sveltejs/vite-plugin-svelte'); -+ const svelte = require('@sveltejs/vite-plugin-svelte').default; ++ const { svelte } = require('@sveltejs/vite-plugin-svelte'); ``` diff --git a/packages/playground/autoprefixer-browerslist/vite.config.js b/packages/playground/autoprefixer-browerslist/vite.config.js index 6efba7171..3f658aba4 100644 --- a/packages/playground/autoprefixer-browerslist/vite.config.js +++ b/packages/playground/autoprefixer-browerslist/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte').default; +const { svelte } = require('@sveltejs/vite-plugin-svelte'); const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { diff --git a/packages/playground/big/vite.config.js b/packages/playground/big/vite.config.js index 6efba7171..3f658aba4 100644 --- a/packages/playground/big/vite.config.js +++ b/packages/playground/big/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte').default; +const { svelte } = require('@sveltejs/vite-plugin-svelte'); const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { diff --git a/packages/playground/configfile-custom/vite.config.js b/packages/playground/configfile-custom/vite.config.js index f2f86e83b..337933b3b 100644 --- a/packages/playground/configfile-custom/vite.config.js +++ b/packages/playground/configfile-custom/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte').default; +const { svelte } = require('@sveltejs/vite-plugin-svelte'); const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { diff --git a/packages/playground/configfile-esm/vite.config.js b/packages/playground/configfile-esm/vite.config.js index 4ebe6be8a..d8a969594 100644 --- a/packages/playground/configfile-esm/vite.config.js +++ b/packages/playground/configfile-esm/vite.config.js @@ -1,4 +1,4 @@ -import svelte from '@sveltejs/vite-plugin-svelte'; +import { svelte } from '@sveltejs/vite-plugin-svelte'; import { defineConfig } from 'vite'; export default defineConfig(({ command, mode }) => { diff --git a/packages/playground/default-svelte-template-ts/vite.config.js b/packages/playground/default-svelte-template-ts/vite.config.js index 6efba7171..3f658aba4 100644 --- a/packages/playground/default-svelte-template-ts/vite.config.js +++ b/packages/playground/default-svelte-template-ts/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte').default; +const { svelte } = require('@sveltejs/vite-plugin-svelte'); const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { diff --git a/packages/playground/default-svelte-template/vite.config.js b/packages/playground/default-svelte-template/vite.config.js index 6efba7171..3f658aba4 100644 --- a/packages/playground/default-svelte-template/vite.config.js +++ b/packages/playground/default-svelte-template/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte').default; +const { svelte } = require('@sveltejs/vite-plugin-svelte'); const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { diff --git a/packages/playground/hmr/vite.config.js b/packages/playground/hmr/vite.config.js index 147490ce9..e1717bd89 100644 --- a/packages/playground/hmr/vite.config.js +++ b/packages/playground/hmr/vite.config.js @@ -1,5 +1,5 @@ const { defineConfig } = require('vite'); -const svelte = require('@sveltejs/vite-plugin-svelte').default; +const { svelte } = require('@sveltejs/vite-plugin-svelte'); module.exports = defineConfig(({ command, mode }) => { const isProduction = mode === 'production'; diff --git a/packages/playground/package-json-svelte-field/vite.config.js b/packages/playground/package-json-svelte-field/vite.config.js index 6efba7171..3f658aba4 100644 --- a/packages/playground/package-json-svelte-field/vite.config.js +++ b/packages/playground/package-json-svelte-field/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte').default; +const { svelte } = require('@sveltejs/vite-plugin-svelte'); const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { diff --git a/packages/playground/preprocess-with-vite/vite.config.js b/packages/playground/preprocess-with-vite/vite.config.js index 0f739f502..3ddc060f1 100644 --- a/packages/playground/preprocess-with-vite/vite.config.js +++ b/packages/playground/preprocess-with-vite/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte').default; +const { svelte } = require('@sveltejs/vite-plugin-svelte'); const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { diff --git a/packages/playground/svelte-preprocess/vite.config.js b/packages/playground/svelte-preprocess/vite.config.js index d1ad3c52e..41403bdc7 100644 --- a/packages/playground/svelte-preprocess/vite.config.js +++ b/packages/playground/svelte-preprocess/vite.config.js @@ -1,5 +1,5 @@ const { defineConfig } = require('vite'); -const svelte = require('@sveltejs/vite-plugin-svelte').default; +const { svelte } = require('@sveltejs/vite-plugin-svelte'); module.exports = defineConfig(({ command, mode }) => { const isProduction = mode === 'production'; diff --git a/packages/playground/ts-type-import/vite.config.js b/packages/playground/ts-type-import/vite.config.js index db918b811..b2c2c2cda 100644 --- a/packages/playground/ts-type-import/vite.config.js +++ b/packages/playground/ts-type-import/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte').default; +const { svelte } = require('@sveltejs/vite-plugin-svelte'); const { defineConfig } = require('vite'); module.exports = defineConfig(() => { diff --git a/packages/playground/vite-ssr/vite.config.js b/packages/playground/vite-ssr/vite.config.js index 3a27f01c8..777667127 100644 --- a/packages/playground/vite-ssr/vite.config.js +++ b/packages/playground/vite-ssr/vite.config.js @@ -1,5 +1,5 @@ const { defineConfig } = require('vite'); -const svelte = require('@sveltejs/vite-plugin-svelte').default; +const { svelte } = require('@sveltejs/vite-plugin-svelte'); module.exports = defineConfig(({ command, mode }) => { const isProduction = mode === 'production'; diff --git a/packages/playground/windicss/vite.config.js b/packages/playground/windicss/vite.config.js index 8a04185b6..1ce4865b2 100644 --- a/packages/playground/windicss/vite.config.js +++ b/packages/playground/windicss/vite.config.js @@ -1,4 +1,4 @@ -const svelte = require('@sveltejs/vite-plugin-svelte').default; +const { svelte } = require('@sveltejs/vite-plugin-svelte'); const { defineConfig } = require('vite'); const vitePluginWindicss = require('vite-plugin-windicss').default; diff --git a/packages/vite-plugin-svelte/README.md b/packages/vite-plugin-svelte/README.md index 9c4f32b93..ef3ef23fe 100644 --- a/packages/vite-plugin-svelte/README.md +++ b/packages/vite-plugin-svelte/README.md @@ -3,7 +3,7 @@ ## usage ```js -import svelte from '@sveltejs/vite-plugin-svelte'; +import { svelte } from '@sveltejs/vite-plugin-svelte'; import { defineConfig } from 'vite'; export default defineConfig(({ command, mode }) => { @@ -28,7 +28,7 @@ If you cannot use import and need commonjs, vite-plugin-svelte provides a fallba require it like this: ```js -const svelte = require('@sveltejs/vite-plugin-svelte').default; +const { svelte } = require('@sveltejs/vite-plugin-svelte'); ``` ## Options diff --git a/packages/vite-plugin-svelte/src/index.ts b/packages/vite-plugin-svelte/src/index.ts index f7a36d3ce..b52c80066 100644 --- a/packages/vite-plugin-svelte/src/index.ts +++ b/packages/vite-plugin-svelte/src/index.ts @@ -16,19 +16,6 @@ import { SVELTE_IMPORTS, SVELTE_RESOLVE_MAIN_FIELDS } from './utils/constants'; import { setupWatchers } from './utils/watch'; import { resolveViaPackageJsonSvelte } from './utils/resolve'; -export { - Options, - Preprocessor, - PreprocessorGroup, - CompileOptions, - CssHashGetter, - Arrayable, - MarkupPreprocessor, - ModuleFormat, - Processed, - Warning -} from './utils/options'; - // extend the Vite plugin interface to be able to have `sveltePreprocess` injection declare module 'vite' { // eslint-disable-next-line no-unused-vars @@ -39,7 +26,7 @@ declare module 'vite' { const pkg_export_errors = new Set(); -export default function vitePluginSvelte(inlineOptions?: Partial): Plugin { +function svelte(inlineOptions?: Partial): Plugin { if (process.env.DEBUG != null) { log.setLevel('debug'); } @@ -221,3 +208,30 @@ export default function vitePluginSvelte(inlineOptions?: Partial): Plug } }; } + +export { + Options, + Preprocessor, + PreprocessorGroup, + CompileOptions, + CssHashGetter, + Arrayable, + MarkupPreprocessor, + ModuleFormat, + Processed, + Warning +} from './utils/options'; + +export { svelte }; +// temporary warning +// TODO remove it after a grace period +export default (inlineOptions: Partial) => { + console.warn(`Deprecation warning: The default export of vite-plugin-svelte is deprecated. +Update your code to use the named export 'svelte': + old: "import svelte from '@sveltejs/vite-plugin-svelte';" + new: "import {svelte} from '@sveltejs/vite-plugin-svelte';" + +If you are using SvelteKit, update your "@sveltejs/kit" dependency. +`); + return svelte(inlineOptions); +}; diff --git a/packages/vite-plugin-svelte/tsconfig.json b/packages/vite-plugin-svelte/tsconfig.json index 230e1974f..ab6512561 100644 --- a/packages/vite-plugin-svelte/tsconfig.json +++ b/packages/vite-plugin-svelte/tsconfig.json @@ -4,7 +4,7 @@ "compilerOptions": { "outDir": "dist", "target": "ES2019", - "module": "commonjs", + "module": "ES2020", "moduleResolution": "node", "strict": true, "declaration": true, From 1630c4958c4ab530cb7fd13799896babd6141234 Mon Sep 17 00:00:00 2001 From: dominikg Date: Fri, 11 Jun 2021 14:01:22 +0200 Subject: [PATCH 6/6] remove default export with deprecation warning, add note about named export to changelog --- .changeset/happy-toys-boil.md | 9 ++++++++- packages/vite-plugin-svelte/src/index.ts | 20 ++------------------ 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/.changeset/happy-toys-boil.md b/.changeset/happy-toys-boil.md index 4f4e5dad0..457366e25 100644 --- a/.changeset/happy-toys-boil.md +++ b/.changeset/happy-toys-boil.md @@ -2,11 +2,18 @@ '@sveltejs/vite-plugin-svelte': major --- -feat: convert to es module and provide cjs fallback +feat: convert to es module with cjs fallback, use named export instead of default If you are using vite-plugin-svelte with require, you should switch to esm and import the named export "svelte". An example can be found in the usage section of the [readme](README.md) +For existing esm configs update your import to use the new named export. + +```diff +- import svelte from '@sveltejs/vite-plugin-svelte'; ++ import { svelte } from '@sveltejs/vite-plugin-svelte'; +``` + continuing with cjs/require is discouraged but if you must use it, update your require statement to use the named export ```diff diff --git a/packages/vite-plugin-svelte/src/index.ts b/packages/vite-plugin-svelte/src/index.ts index b52c80066..2273b01bc 100644 --- a/packages/vite-plugin-svelte/src/index.ts +++ b/packages/vite-plugin-svelte/src/index.ts @@ -24,15 +24,13 @@ declare module 'vite' { } } -const pkg_export_errors = new Set(); - -function svelte(inlineOptions?: Partial): Plugin { +export function svelte(inlineOptions?: Partial): Plugin { if (process.env.DEBUG != null) { log.setLevel('debug'); } validateInlineOptions(inlineOptions); const cache = new VitePluginSvelteCache(); - + const pkg_export_errors = new Set(); // updated in configResolved hook let requestParser: IdParser; let options: ResolvedOptions; @@ -221,17 +219,3 @@ export { Processed, Warning } from './utils/options'; - -export { svelte }; -// temporary warning -// TODO remove it after a grace period -export default (inlineOptions: Partial) => { - console.warn(`Deprecation warning: The default export of vite-plugin-svelte is deprecated. -Update your code to use the named export 'svelte': - old: "import svelte from '@sveltejs/vite-plugin-svelte';" - new: "import {svelte} from '@sveltejs/vite-plugin-svelte';" - -If you are using SvelteKit, update your "@sveltejs/kit" dependency. -`); - return svelte(inlineOptions); -};