From 7481ffda028d9028d8e28bc7c6e9960ab80acf0f Mon Sep 17 00:00:00 2001 From: Michael Rienstra Date: Thu, 22 Sep 2022 11:37:01 -0700 Subject: [PATCH] `create-astro`: always create `tsconfig.json` (#4810) * `create-astro`: always create `tsconfig.json` Currently, we only make sure `tsconfig.json` exists when `strict` or `strictest` is selected. Both `default` & `optout` are intended to correspond to `base` -- and will do so for all [23 official templates](https://github.com/withastro/astro/tree/main/examples), but not necessarily for third-party templates. The [example command for installing a third-party template](https://github.com/withastro/astro/blob/a800bf7/packages/create-astro/README.md?plain=1#L31-L35) is (rather conveniently for the sake of this PR!) an example of a template without a `tsconfig.json` file, and installing it with the `default` ("Relaxed") Typescript option results in no `tsconfig.json` file, rather than a `tsconfig.json` file containing `{ "extends": "astro/tsconfigs/base" }` as would be expected. This PR addresses this scenario. It also explicitly sets the `tsconfig.json` file to `{ "extends": "astro/tsconfigs/base" }` when `default` (which I renamed to `base`, still presented to the user as "Relaxed") or `optout` is selected (`optout` has always printed a warning about the importance of `tsconfig.json` & `src/env.d.ts` but otherwise behaved identically to `default`). This is necessary in two scenarios: 1. When the `tsconfig.json` file was created by this script. 2. When it either didn't already include `"extends"`, or it extended a different config by default. For example, some third-party templates might default to `strict`, in which case I'm guessing we'd want to respect the user's choice and change that to `base`. * update `del` 6.1.1 --> 7.0.0 * test: prevent excess writes (without this it triggers many times) * test: create-astro typescript prompt * changeset * fix: recursive `mkdirSync` * test: longer timeout for `windows-latest` OS (see if this fixes failing tests) * better glob path creation, don't hardcode `/` * test: longer timeout for windows-latest OS (since I'm about to trigger another CI run by pushing a commit, might as well try this too) * create-astro test: show last CLI output on timeout * drop variable timeout Typescript tests are slower than directory tests, but they are all usually less than 5000 ms. Less complexity, easier to maintain. * DRY new error output * Update lockfile * Sync lockfile with main * Update lockfile Co-authored-by: Princesseuh --- .changeset/many-boats-peel.md | 8 + package.json | 2 +- packages/astro/test/benchmark/build.bench.js | 4 +- packages/astro/test/benchmark/dev.bench.js | 4 +- packages/create-astro/package.json | 1 + packages/create-astro/src/index.ts | 54 ++-- .../create-astro/test/directory-step.test.js | 23 +- .../create-astro/test/typescript-step.test.js | 117 +++++++++ packages/create-astro/test/utils.js | 26 +- pnpm-lock.yaml | 246 ++++++++++-------- scripts/cmd/build.js | 4 +- 11 files changed, 327 insertions(+), 162 deletions(-) create mode 100644 .changeset/many-boats-peel.md create mode 100644 packages/create-astro/test/typescript-step.test.js diff --git a/.changeset/many-boats-peel.md b/.changeset/many-boats-peel.md new file mode 100644 index 000000000000..2f0c806f8b53 --- /dev/null +++ b/.changeset/many-boats-peel.md @@ -0,0 +1,8 @@ +--- +'create-astro': minor +--- + +Alway write chosen config to `tsconfig.json`. + +- Before: Only when `strict` & `strictest` was selected +- After: Also when `base` is selected (via "Relaxed" or "I prefer not to use TypeScript") diff --git a/package.json b/package.json index 5505eb0458fd..991e4d2b9059 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "@octokit/action": "^3.18.1", "@typescript-eslint/eslint-plugin": "^5.27.1", "@typescript-eslint/parser": "^5.27.1", - "del": "^6.1.1", + "del": "^7.0.0", "esbuild": "^0.14.43", "eslint": "^8.17.0", "eslint-config-prettier": "^8.5.0", diff --git a/packages/astro/test/benchmark/build.bench.js b/packages/astro/test/benchmark/build.bench.js index 9595af76c151..a140082a325a 100644 --- a/packages/astro/test/benchmark/build.bench.js +++ b/packages/astro/test/benchmark/build.bench.js @@ -5,7 +5,7 @@ import { performance } from 'perf_hooks'; import { build as astroBuild } from '#astro/build'; import { loadConfig } from '#astro/config'; import { Benchmark } from './benchmark.js'; -import del from 'del'; +import { deleteAsync } from 'del'; import { Writable } from 'stream'; import { format as utilFormat } from 'util'; @@ -47,7 +47,7 @@ const benchmarks = [ async setup() { process.chdir(new URL('../../../../', import.meta.url).pathname); const spcache = new URL('../../node_modules/.cache/', import.meta.url); - await Promise.all([del(spcache.pathname, { force: true }), setupBuild()]); + await Promise.all([deleteAsync(spcache.pathname, { force: true }), setupBuild()]); }, run: runBuild, }), diff --git a/packages/astro/test/benchmark/dev.bench.js b/packages/astro/test/benchmark/dev.bench.js index 0ffbe55a2790..134992634abc 100644 --- a/packages/astro/test/benchmark/dev.bench.js +++ b/packages/astro/test/benchmark/dev.bench.js @@ -3,7 +3,7 @@ import { performance } from 'perf_hooks'; import { Benchmark } from './benchmark.js'; import { runDevServer } from '../helpers.js'; -import del from 'del'; +import { deleteAsync } from 'del'; const docsExampleRoot = new URL('../../../../docs/', import.meta.url); @@ -31,7 +31,7 @@ const benchmarks = [ file: new URL('./dev-server-uncached.json', import.meta.url), async setup() { const spcache = new URL('../../node_modules/.cache/', import.meta.url); - await del(spcache.pathname); + await deleteAsync(spcache.pathname); }, run({ root }) { return runToStarted(root); diff --git a/packages/create-astro/package.json b/packages/create-astro/package.json index e881b111d698..6f89dff4b9f0 100644 --- a/packages/create-astro/package.json +++ b/packages/create-astro/package.json @@ -36,6 +36,7 @@ "kleur": "^4.1.4", "ora": "^6.1.0", "prompts": "^2.4.2", + "strip-ansi": "^7.0.1", "which-pm-runs": "^1.1.0", "yargs-parser": "^21.0.1" }, diff --git a/packages/create-astro/src/index.ts b/packages/create-astro/src/index.ts index ee548f59d006..2337674ea9c5 100644 --- a/packages/create-astro/src/index.ts +++ b/packages/create-astro/src/index.ts @@ -340,7 +340,7 @@ export async function main() { choices: [ { title: 'Relaxed', - value: 'default', + value: 'base', }, { title: 'Strict (recommended)', @@ -379,42 +379,40 @@ export async function main() { console.log(` You can safely ignore these files, but don't delete them!`); console.log(dim(' (ex: tsconfig.json, src/env.d.ts)')); console.log(``); - tsResponse.typescript = 'default'; + tsResponse.typescript = 'base'; await wait(300); } if (args.dryRun) { ora().info(dim(`--dry-run enabled, skipping.`)); } else if (tsResponse.typescript) { - if (tsResponse.typescript !== 'default') { - const templateTSConfigPath = path.join(cwd, 'tsconfig.json'); - fs.readFile(templateTSConfigPath, (err, data) => { - if (err && err.code === 'ENOENT') { - // If the template doesn't have a tsconfig.json, let's add one instead - fs.writeFileSync( - templateTSConfigPath, - stringify({ extends: `astro/tsconfigs/${tsResponse.typescript}` }, null, 2) - ); + const templateTSConfigPath = path.join(cwd, 'tsconfig.json'); + fs.readFile(templateTSConfigPath, (err, data) => { + if (err && err.code === 'ENOENT') { + // If the template doesn't have a tsconfig.json, let's add one instead + fs.writeFileSync( + templateTSConfigPath, + stringify({ extends: `astro/tsconfigs/${tsResponse.typescript}` }, null, 2) + ); - return; - } + return; + } - const templateTSConfig = parse(data.toString()); + const templateTSConfig = parse(data.toString()); - if (templateTSConfig && typeof templateTSConfig === 'object') { - const result = assign(templateTSConfig, { - extends: `astro/tsconfigs/${tsResponse.typescript}`, - }); + if (templateTSConfig && typeof templateTSConfig === 'object') { + const result = assign(templateTSConfig, { + extends: `astro/tsconfigs/${tsResponse.typescript}`, + }); - fs.writeFileSync(templateTSConfigPath, stringify(result, null, 2)); - } else { - console.log( - yellow( - "There was an error applying the requested TypeScript settings. This could be because the template's tsconfig.json is malformed" - ) - ); - } - }); - } + fs.writeFileSync(templateTSConfigPath, stringify(result, null, 2)); + } else { + console.log( + yellow( + "There was an error applying the requested TypeScript settings. This could be because the template's tsconfig.json is malformed" + ) + ); + } + }); ora().succeed('TypeScript settings applied!'); } diff --git a/packages/create-astro/test/directory-step.test.js b/packages/create-astro/test/directory-step.test.js index 0031f97fd41e..26737ca94c78 100644 --- a/packages/create-astro/test/directory-step.test.js +++ b/packages/create-astro/test/directory-step.test.js @@ -1,6 +1,8 @@ import path from 'path'; import { promises, existsSync } from 'fs'; -import { PROMPT_MESSAGES, testDir, setup, promiseWithTimeout, timeout } from './utils.js'; +import { + PROMPT_MESSAGES, testDir, setup, promiseWithTimeout, timeout +} from './utils.js'; const inputs = { nonEmptyDir: './fixtures/select-directory/nonempty-dir', @@ -12,9 +14,10 @@ const inputs = { describe('[create-astro] select directory', function () { this.timeout(timeout); it('should prompt for directory when none is provided', function () { - return promiseWithTimeout((resolve) => { + return promiseWithTimeout((resolve, onStdout) => { const { stdout } = setup(); stdout.on('data', (chunk) => { + onStdout(chunk); if (chunk.includes(PROMPT_MESSAGES.directory)) { resolve(); } @@ -22,9 +25,10 @@ describe('[create-astro] select directory', function () { }); }); it('should NOT proceed on a non-empty directory', function () { - return promiseWithTimeout((resolve) => { + return promiseWithTimeout((resolve, onStdout) => { const { stdout } = setup([inputs.nonEmptyDir]); stdout.on('data', (chunk) => { + onStdout(chunk); if (chunk.includes(PROMPT_MESSAGES.directory)) { resolve(); } @@ -46,9 +50,10 @@ describe('[create-astro] select directory', function () { if (!existsSync(resolvedEmptyDirPath)) { await promises.mkdir(resolvedEmptyDirPath); } - return promiseWithTimeout((resolve) => { + return promiseWithTimeout((resolve, onStdout) => { const { stdout } = setup([inputs.emptyDir]); stdout.on('data', (chunk) => { + onStdout(chunk); if (chunk.includes(PROMPT_MESSAGES.template)) { resolve(); } @@ -56,9 +61,10 @@ describe('[create-astro] select directory', function () { }); }); it('should proceed when directory does not exist', function () { - return promiseWithTimeout((resolve) => { + return promiseWithTimeout((resolve, onStdout) => { const { stdout } = setup([inputs.nonexistentDir]); stdout.on('data', (chunk) => { + onStdout(chunk); if (chunk.includes(PROMPT_MESSAGES.template)) { resolve(); } @@ -66,14 +72,17 @@ describe('[create-astro] select directory', function () { }); }); it('should error on bad directory selection in prompt', function () { - return promiseWithTimeout((resolve) => { + return promiseWithTimeout((resolve, onStdout) => { + let wrote = false; const { stdout, stdin } = setup(); stdout.on('data', (chunk) => { + onStdout(chunk); if (chunk.includes('is not empty!')) { resolve(); } - if (chunk.includes(PROMPT_MESSAGES.directory)) { + if (!wrote && chunk.includes(PROMPT_MESSAGES.directory)) { stdin.write(`${inputs.nonEmptyDir}\x0D`); + wrote = true; } }); }); diff --git a/packages/create-astro/test/typescript-step.test.js b/packages/create-astro/test/typescript-step.test.js new file mode 100644 index 000000000000..abec216466b2 --- /dev/null +++ b/packages/create-astro/test/typescript-step.test.js @@ -0,0 +1,117 @@ +import { expect } from 'chai'; +import { deleteSync } from 'del'; +import { existsSync, mkdirSync, readdirSync, readFileSync } from 'fs'; +import path from 'path'; +import { + PROMPT_MESSAGES, testDir, setup, promiseWithTimeout, timeout +} from './utils.js'; + +const inputs = { + emptyDir: './fixtures/select-typescript/empty-dir', +}; + +function isEmpty(dirPath) { + return !existsSync(dirPath) || readdirSync(dirPath).length === 0; +} + +function ensureEmptyDir() { + const dirPath = path.resolve(testDir, inputs.emptyDir); + if (!existsSync(dirPath)) { + mkdirSync(dirPath, { recursive: true }); + } else if (!isEmpty(dirPath)) { + const globPath = path.resolve(dirPath, '*'); + deleteSync(globPath, { dot: true }); + } +} + +function getTsConfig(installDir) { + const filePath = path.resolve(testDir, installDir, 'tsconfig.json'); + return JSON.parse(readFileSync(filePath, 'utf-8')); +} + +describe('[create-astro] select typescript', function () { + this.timeout(timeout); + + beforeEach(ensureEmptyDir); + + afterEach(ensureEmptyDir); + + it('should prompt for typescript when none is provided', async function () { + return promiseWithTimeout((resolve, onStdout) => { + const { stdout } = setup([ + inputs.emptyDir, + '--template', 'minimal', + '--install', '0', + '--git', '0' + ]); + stdout.on('data', (chunk) => { + onStdout(chunk); + if (chunk.includes(PROMPT_MESSAGES.typescript)) { + resolve(); + } + }); + }, () => lastStdout); + }); + + it('should not prompt for typescript when provided', async function () { + return promiseWithTimeout((resolve, onStdout) => { + const { stdout } = setup([ + inputs.emptyDir, + '--template', 'minimal', + '--install', '0', + '--git', '0', + '--typescript', 'base' + ]); + stdout.on('data', (chunk) => { + onStdout(chunk); + if (chunk.includes(PROMPT_MESSAGES.typescriptSucceed)) { + resolve(); + } + }); + }, () => lastStdout); + }); + + it('should use "strict" config when specified', async function () { + return promiseWithTimeout((resolve, onStdout) => { + let wrote = false; + const { stdout, stdin } = setup([ + inputs.emptyDir, + '--template', 'minimal', + '--install', '0', + '--git', '0' + ]); + stdout.on('data', (chunk) => { + onStdout(chunk); + if (!wrote && chunk.includes(PROMPT_MESSAGES.typescript)) { + stdin.write('\x1B\x5B\x42\x0D'); + wrote = true; + } + if (chunk.includes(PROMPT_MESSAGES.typescriptSucceed)) { + const tsConfigJson = getTsConfig(inputs.emptyDir); + expect(tsConfigJson).to.deep.equal({'extends': 'astro/tsconfigs/strict'}); + resolve(); + } + }); + }, () => lastStdout); + }); + + it('should create tsconfig.json when missing', async function () { + return promiseWithTimeout((resolve, onStdout) => { + const { stdout } = setup([ + inputs.emptyDir, + '--template', 'cassidoo/shopify-react-astro', + '--install', '0', + '--git', '0', + '--typescript', 'base' + ]); + stdout.on('data', (chunk) => { + onStdout(chunk); + if (chunk.includes(PROMPT_MESSAGES.typescriptSucceed)) { + const tsConfigJson = getTsConfig(inputs.emptyDir); + expect(tsConfigJson).to.deep.equal({'extends': 'astro/tsconfigs/base'}); + resolve(); + } + }); + }, () => lastStdout); + }); +}); diff --git a/packages/create-astro/test/utils.js b/packages/create-astro/test/utils.js index b085ef0833b4..9be444b5b60b 100644 --- a/packages/create-astro/test/utils.js +++ b/packages/create-astro/test/utils.js @@ -1,31 +1,45 @@ import { execa } from 'execa'; -import { fileURLToPath } from 'url'; import { dirname } from 'path'; +import stripAnsi from 'strip-ansi'; +import { fileURLToPath } from 'url'; const __filename = fileURLToPath(import.meta.url); export const testDir = dirname(__filename); export const timeout = 5000; -const createAstroError = new Error( - 'Timed out waiting for create-astro to respond with expected output.' -); +const timeoutError = function (details) { + let errorMsg = + 'Timed out waiting for create-astro to respond with expected output.'; + if (details) { + errorMsg += '\nLast output: "' + details + '"'; + } + return new Error(errorMsg); +} export function promiseWithTimeout(testFn) { return new Promise((resolve, reject) => { + let lastStdout; + function onStdout (chunk) { + lastStdout = stripAnsi(chunk.toString()).trim() || lastStdout; + } + const timeoutEvent = setTimeout(() => { - reject(createAstroError); + reject(timeoutError(lastStdout)); }, timeout); function resolver() { clearTimeout(timeoutEvent); resolve(); } - testFn(resolver); + + testFn(resolver, onStdout); }); } export const PROMPT_MESSAGES = { directory: 'Where would you like to create your new project?', template: 'Which template would you like to use?', + typescript: 'How would you like to setup TypeScript?', + typescriptSucceed: 'Next steps' }; export function setup(args = []) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4b516d159e76..2b3ed7b190f9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,7 +17,7 @@ importers: '@octokit/action': ^3.18.1 '@typescript-eslint/eslint-plugin': ^5.27.1 '@typescript-eslint/parser': ^5.27.1 - del: ^6.1.1 + del: ^7.0.0 esbuild: ^0.14.43 eslint: ^8.17.0 eslint-config-prettier: ^8.5.0 @@ -39,7 +39,7 @@ importers: '@octokit/action': 3.18.1 '@typescript-eslint/eslint-plugin': 5.38.0_gl4g3tss5phduo5kw3bd5pm54i '@typescript-eslint/parser': 5.38.0_4brgkhw6cq4me3drk3kxrpb2mm - del: 6.1.1 + del: 7.0.0 esbuild: 0.14.54 eslint: 8.23.1 eslint-config-prettier: 8.5.0_eslint@8.23.1 @@ -163,7 +163,7 @@ importers: preact: 10.11.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - solid-js: 1.5.6 + solid-js: 1.5.5 svelte: 3.50.1 vue: 3.2.39 @@ -201,7 +201,7 @@ importers: dependencies: '@astrojs/solid-js': link:../../packages/integrations/solid astro: link:../../packages/astro - solid-js: 1.5.6 + solid-js: 1.5.5 examples/framework-svelte: specifiers: @@ -486,7 +486,7 @@ importers: typescript: 4.8.3 unist-util-visit: 4.1.1 vfile: 5.3.5 - vite: 3.1.3_sass@1.55.0 + vite: 3.1.3_sass@1.54.9 yargs-parser: 21.1.1 zod: 3.19.1 devDependencies: @@ -513,7 +513,7 @@ importers: chai: 4.3.6 cheerio: 1.0.0-rc.12 mocha: 9.2.2 - sass: 1.55.0 + sass: 1.54.9 srcset-parse: 1.1.0 packages/astro-prism: @@ -574,7 +574,7 @@ importers: preact: 10.11.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - solid-js: 1.5.6 + solid-js: 1.5.5 svelte: 3.50.1 vue: 3.2.39 devDependencies: @@ -613,7 +613,7 @@ importers: sass: ^1.52.2 dependencies: astro: link:../../.. - sass: 1.55.0 + sass: 1.54.9 packages/astro/e2e/fixtures/errors: specifiers: @@ -684,7 +684,7 @@ importers: preact: 10.11.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - solid-js: 1.5.6 + solid-js: 1.5.5 svelte: 3.50.1 vue: 3.2.39 devDependencies: @@ -727,7 +727,7 @@ importers: preact: 10.11.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - solid-js: 1.5.6 + solid-js: 1.5.5 svelte: 3.50.1 vue: 3.2.39 devDependencies: @@ -756,7 +756,7 @@ importers: preact: 10.11.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - solid-js: 1.5.6 + solid-js: 1.5.5 svelte: 3.50.1 vue: 3.2.39 devDependencies: @@ -785,7 +785,7 @@ importers: preact: 10.11.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - solid-js: 1.5.6 + solid-js: 1.5.5 svelte: 3.50.1 vue: 3.2.39 devDependencies: @@ -814,7 +814,7 @@ importers: preact: 10.11.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - solid-js: 1.5.6 + solid-js: 1.5.5 svelte: 3.50.1 vue: 3.2.39 devDependencies: @@ -843,7 +843,7 @@ importers: preact: 10.11.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - solid-js: 1.5.6 + solid-js: 1.5.5 svelte: 3.50.1 vue: 3.2.39 devDependencies: @@ -872,7 +872,7 @@ importers: preact: 10.11.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - solid-js: 1.5.6 + solid-js: 1.5.5 svelte: 3.50.1 vue: 3.2.39 devDependencies: @@ -949,7 +949,7 @@ importers: '@astrojs/solid-js': link:../../../../integrations/solid astro: link:../../.. devDependencies: - solid-js: 1.5.6 + solid-js: 1.5.5 packages/astro/e2e/fixtures/solid-recurse: specifiers: @@ -960,7 +960,7 @@ importers: '@astrojs/solid-js': link:../../../../integrations/solid astro: link:../../.. devDependencies: - solid-js: 1.5.6 + solid-js: 1.5.5 packages/astro/e2e/fixtures/svelte-component: specifiers: @@ -1627,7 +1627,7 @@ importers: preact: 10.11.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - solid-js: 1.5.6 + solid-js: 1.5.5 svelte: 3.50.1 vue: 3.2.39 devDependencies: @@ -2181,6 +2181,7 @@ importers: mocha: ^9.2.2 ora: ^6.1.0 prompts: ^2.4.2 + strip-ansi: ^7.0.1 uvu: ^0.5.3 which-pm-runs: ^1.1.0 yargs-parser: ^21.0.1 @@ -2192,6 +2193,7 @@ importers: kleur: 4.1.5 ora: 6.1.2 prompts: 2.4.2 + strip-ansi: 7.0.1 which-pm-runs: 1.1.0 yargs-parser: 21.1.1 devDependencies: @@ -2225,7 +2227,7 @@ importers: devDependencies: astro: link:../../astro astro-scripts: link:../../../scripts - wrangler: 2.1.6 + wrangler: 2.1.5 packages/integrations/cloudflare/test/fixtures/basics: specifiers: @@ -2386,7 +2388,7 @@ importers: astro: link:../../astro astro-scripts: link:../../../scripts cheerio: 1.0.0-rc.12 - sass: 1.55.0 + sass: 1.54.9 packages/integrations/mdx: specifiers: @@ -2440,7 +2442,7 @@ importers: astro: link:../../astro astro-scripts: link:../../../scripts chai: 4.3.6 - linkedom: 0.14.16 + linkedom: 0.14.15 mdast-util-to-string: 3.1.0 mocha: 9.2.2 reading-time: 1.5.0 @@ -2669,11 +2671,11 @@ importers: babel-preset-solid: ^1.4.2 solid-js: ^1.5.1 dependencies: - babel-preset-solid: 1.5.6 + babel-preset-solid: 1.5.5 devDependencies: astro: link:../../astro astro-scripts: link:../../../scripts - solid-js: 1.5.6 + solid-js: 1.5.5 packages/integrations/svelte: specifiers: @@ -2686,7 +2688,7 @@ importers: svelte2tsx: ^0.5.11 vite: ^3.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 1.0.8_svelte@3.50.1+vite@3.1.3 + '@sveltejs/vite-plugin-svelte': 1.0.7_svelte@3.50.1+vite@3.1.3 postcss-load-config: 3.1.4 svelte-preprocess: 4.10.7_dnlyed3grtnuceggogyodrmgvm svelte2tsx: 0.5.18_svelte@3.50.1 @@ -2987,10 +2989,10 @@ importers: dependencies: node-fetch: 3.2.10 devDependencies: - '@rollup/plugin-alias': 3.1.9_rollup@2.79.1 - '@rollup/plugin-inject': 4.0.4_rollup@2.79.1 - '@rollup/plugin-node-resolve': 13.3.0_rollup@2.79.1 - '@rollup/plugin-typescript': 8.5.0_xwhsf76p4ysrvxbjgnmc6wmmq4 + '@rollup/plugin-alias': 3.1.9_rollup@2.79.0 + '@rollup/plugin-inject': 4.0.4_rollup@2.79.0 + '@rollup/plugin-node-resolve': 13.3.0_rollup@2.79.0 + '@rollup/plugin-typescript': 8.5.0_ppxule2mhlgb6ds3e4gxjflaqy '@types/chai': 4.3.3 '@types/mocha': 9.1.1 '@types/node': 14.18.29 @@ -3002,8 +3004,8 @@ importers: formdata-polyfill: 4.0.10 magic-string: 0.25.9 mocha: 9.2.2 - rollup: 2.79.1 - rollup-plugin-terser: 7.0.2_rollup@2.79.1 + rollup: 2.79.0 + rollup-plugin-terser: 7.0.2_rollup@2.79.0 tslib: 2.4.0 typescript: 4.7.4 urlpattern-polyfill: 1.0.0-rc5 @@ -5265,8 +5267,8 @@ packages: tslib: 2.4.0 dev: false - /@humanwhocodes/config-array/0.10.5: - resolution: {integrity: sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug==} + /@humanwhocodes/config-array/0.10.4: + resolution: {integrity: sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -8683,7 +8685,7 @@ packages: react: 18.2.0 dev: false - /@rollup/plugin-alias/3.1.9_rollup@2.79.1: + /@rollup/plugin-alias/3.1.9_rollup@2.79.0: resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==} engines: {node: '>=8.0.0'} peerDependencies: @@ -8692,11 +8694,11 @@ packages: rollup: optional: true dependencies: - rollup: 2.79.1 + rollup: 2.79.0 slash: 3.0.0 dev: true - /@rollup/plugin-babel/5.3.1_r56fldxoyazzliugjcx2ns4pma: + /@rollup/plugin-babel/5.3.1_qjhfxcwn2glzcb5646tzyg45bq: resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -8713,11 +8715,11 @@ packages: dependencies: '@babel/core': 7.19.1 '@babel/helper-module-imports': 7.18.6 - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 - rollup: 2.79.1 + '@rollup/pluginutils': 3.1.0_rollup@2.79.0 + rollup: 2.79.0 dev: false - /@rollup/plugin-inject/4.0.4_rollup@2.79.1: + /@rollup/plugin-inject/4.0.4_rollup@2.79.0: resolution: {integrity: sha512-4pbcU4J/nS+zuHk+c+OL3WtmEQhqxlZ9uqfjQMQDOHOPld7PsCd8k5LWs8h5wjwJN7MgnAn768F2sDxEP4eNFQ==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 @@ -8725,13 +8727,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + '@rollup/pluginutils': 3.1.0_rollup@2.79.0 estree-walker: 2.0.2 magic-string: 0.25.9 - rollup: 2.79.1 + rollup: 2.79.0 dev: true - /@rollup/plugin-node-resolve/11.2.1_rollup@2.79.1: + /@rollup/plugin-node-resolve/11.2.1_rollup@2.79.0: resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -8740,16 +8742,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + '@rollup/pluginutils': 3.1.0_rollup@2.79.0 '@types/resolve': 1.17.1 builtin-modules: 3.3.0 deepmerge: 4.2.2 is-module: 1.0.0 resolve: 1.22.1 - rollup: 2.79.1 + rollup: 2.79.0 dev: false - /@rollup/plugin-node-resolve/13.3.0_rollup@2.79.1: + /@rollup/plugin-node-resolve/13.3.0_rollup@2.79.0: resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -8758,16 +8760,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + '@rollup/pluginutils': 3.1.0_rollup@2.79.0 '@types/resolve': 1.17.1 deepmerge: 4.2.2 is-builtin-module: 3.2.0 is-module: 1.0.0 resolve: 1.22.1 - rollup: 2.79.1 + rollup: 2.79.0 dev: true - /@rollup/plugin-replace/2.4.2_rollup@2.79.1: + /@rollup/plugin-replace/2.4.2_rollup@2.79.0: resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 @@ -8775,12 +8777,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + '@rollup/pluginutils': 3.1.0_rollup@2.79.0 magic-string: 0.25.9 - rollup: 2.79.1 + rollup: 2.79.0 dev: false - /@rollup/plugin-typescript/8.5.0_xwhsf76p4ysrvxbjgnmc6wmmq4: + /@rollup/plugin-typescript/8.5.0_ppxule2mhlgb6ds3e4gxjflaqy: resolution: {integrity: sha512-wMv1/scv0m/rXx21wD2IsBbJFba8wGF3ErJIr6IKRfRj49S85Lszbxb4DCo8iILpluTjk2GAAu9CoZt4G3ppgQ==} engines: {node: '>=8.0.0'} peerDependencies: @@ -8793,14 +8795,14 @@ packages: tslib: optional: true dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + '@rollup/pluginutils': 3.1.0_rollup@2.79.0 resolve: 1.22.1 - rollup: 2.79.1 + rollup: 2.79.0 tslib: 2.4.0 typescript: 4.7.4 dev: true - /@rollup/pluginutils/3.1.0_rollup@2.79.1: + /@rollup/pluginutils/3.1.0_rollup@2.79.0: resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -8812,7 +8814,7 @@ packages: '@types/estree': 0.0.39 estree-walker: 1.0.1 picomatch: 2.3.1 - rollup: 2.79.1 + rollup: 2.79.0 /@rollup/pluginutils/4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} @@ -8867,8 +8869,8 @@ packages: string.prototype.matchall: 4.0.7 dev: false - /@sveltejs/vite-plugin-svelte/1.0.8_svelte@3.50.1+vite@3.1.3: - resolution: {integrity: sha512-1xkVTB4pm6zuign858FzVYE9Fdw9MQBOlxrdd85STV0NvTDmcofcRpcrK+zcIyT8SZ2dseHLu8hvDwzssF6RfA==} + /@sveltejs/vite-plugin-svelte/1.0.7_svelte@3.50.1+vite@3.1.3: + resolution: {integrity: sha512-bf3/xrpKP5Sj9I6hT0slYwY4rVElocWZ79zLPc/bPFCOjjuty0jW4hmC4Uehb7yifjf3I6QnT3eIs2EKqw+Kig==} engines: {node: ^14.18.0 || >= 16} peerDependencies: diff-match-patch: ^1.0.5 @@ -8884,7 +8886,7 @@ packages: debug: 4.3.4 deepmerge: 4.2.2 kleur: 4.1.5 - magic-string: 0.26.4 + magic-string: 0.26.3 svelte: 3.50.1 svelte-hmr: 0.15.0_svelte@3.50.1 vite: 3.1.3 @@ -9700,12 +9702,12 @@ packages: transitivePeerDependencies: - supports-color - /aggregate-error/3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} + /aggregate-error/4.0.1: + resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} + engines: {node: '>=12'} dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 + clean-stack: 4.2.0 + indent-string: 5.0.0 dev: true /ajv/6.12.6: @@ -10006,8 +10008,8 @@ packages: - supports-color dev: false - /babel-preset-solid/1.5.6: - resolution: {integrity: sha512-DETqhEygtRq627y5jII5szev495CvbPZJDTaosCbRWdbBh7nMBPI9JuVBUdWs56M2D4mqYa6Z2vH4mdIS6srwA==} + /babel-preset-solid/1.5.5: + resolution: {integrity: sha512-Ang5Dv/G975tHxcvimkit8FeTRU89FWUNY/9kjVBpt+5YVgH5OLjao+qOMoTTS+9JH2jcL5AfsoRa9xQZiY1Cw==} peerDependencies: '@babel/core': ^7.0.0 peerDependenciesMeta: @@ -10122,7 +10124,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001409 - electron-to-chromium: 1.4.257 + electron-to-chromium: 1.4.256 node-releases: 2.0.6 update-browserslist-db: 1.0.9_browserslist@4.21.4 @@ -10333,9 +10335,11 @@ packages: /ci-info/3.4.0: resolution: {integrity: sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==} - /clean-stack/2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} + /clean-stack/4.2.0: + resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} + engines: {node: '>=12'} + dependencies: + escape-string-regexp: 5.0.0 dev: true /cli-boxes/3.0.0: @@ -10775,18 +10779,18 @@ packages: hasBin: true dev: false - /del/6.1.1: - resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} - engines: {node: '>=10'} + /del/7.0.0: + resolution: {integrity: sha512-tQbV/4u5WVB8HMJr08pgw0b6nG4RGt/tj+7Numvq+zqcvUFeMaIWWOUFltiU+6go8BSO2/ogsB4EasDaj0y68Q==} + engines: {node: '>=14.16'} dependencies: - globby: 11.1.0 + globby: 13.1.2 graceful-fs: 4.2.10 is-glob: 4.0.3 - is-path-cwd: 2.2.0 - is-path-inside: 3.0.3 - p-map: 4.0.0 + is-path-cwd: 3.0.0 + is-path-inside: 4.0.0 + p-map: 5.5.0 rimraf: 3.0.2 - slash: 3.0.0 + slash: 4.0.0 dev: true /delegates/1.0.0: @@ -10945,8 +10949,8 @@ packages: jake: 10.8.5 dev: false - /electron-to-chromium/1.4.257: - resolution: {integrity: sha512-C65sIwHqNnPC2ADMfse/jWTtmhZMII+x6ADI9gENzrOiI7BpxmfKFE84WkIEl5wEg+7+SfIkwChDlsd1Erju2A==} + /electron-to-chromium/1.4.256: + resolution: {integrity: sha512-x+JnqyluoJv8I0U9gVe+Sk2st8vF0CzMt78SXxuoWCooLLY2k5VerIBdpvG7ql6GKI4dzNnPjmqgDJ76EdaAKw==} /emmet/2.3.6: resolution: {integrity: sha512-pLS4PBPDdxuUAmw7Me7+TcHbykTsBKN/S9XJbUOMFQrNv9MoshzyMFK/R57JBm94/6HSL4vHnDeEmxlC82NQ4A==} @@ -11672,7 +11676,6 @@ packages: /escape-string-regexp/5.0.0: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - dev: false /escodegen/1.14.3: resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} @@ -11760,7 +11763,7 @@ packages: hasBin: true dependencies: '@eslint/eslintrc': 1.3.2 - '@humanwhocodes/config-array': 0.10.5 + '@humanwhocodes/config-array': 0.10.4 '@humanwhocodes/gitignore-to-minimatch': 1.0.2 '@humanwhocodes/module-importer': 1.0.1 ajv: 6.12.6 @@ -12348,6 +12351,17 @@ packages: slash: 4.0.0 dev: false + /globby/13.1.2: + resolution: {integrity: sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.0 + merge2: 1.4.1 + slash: 4.0.0 + dev: true + /globrex/0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} @@ -12751,6 +12765,11 @@ packages: engines: {node: '>=8'} dev: true + /indent-string/5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + dev: true + /inflight/1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: @@ -12935,14 +12954,14 @@ packages: engines: {node: '>=0.10.0'} dev: false - /is-path-cwd/2.2.0: - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} - engines: {node: '>=6'} + /is-path-cwd/3.0.0: + resolution: {integrity: sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /is-path-inside/3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} + /is-path-inside/4.0.0: + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} dev: true /is-plain-obj/1.1.0: @@ -13220,8 +13239,8 @@ packages: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /linkedom/0.14.16: - resolution: {integrity: sha512-a4QWl4W93P15/x+4d9k8K+C81nOzQeGOs3D37uG0TFqKZYGLEyZwXweSFrypK8yvUx5U2cuZKkdDIOjaouv3ag==} + /linkedom/0.14.15: + resolution: {integrity: sha512-jQoS/JBRPXzBkqsOsu9Oik8d7M2JUbhSrumiDS+QbCtrza/hs9AjfeihiUC2uXDPCTBOSkPPupIOO4upyu+i+w==} dependencies: css-select: 5.1.0 cssom: 0.5.0 @@ -13375,8 +13394,8 @@ packages: dependencies: sourcemap-codec: 1.4.8 - /magic-string/0.26.4: - resolution: {integrity: sha512-e5uXtVJ22aEpK9u1+eQf0fSxHeqwyV19K+uGnlROCxUhzwRip9tBsaMViK/0vC3viyPd5Gtucp3UmEp/Q2cPTQ==} + /magic-string/0.26.3: + resolution: {integrity: sha512-u1Po0NDyFcwdg2nzHT88wSK0+Rih0N1M+Ph1Sp08k8yvFFU3KR72wryS7e1qMPJypt99WB7fIFVCA92mQrMjrg==} engines: {node: '>=12'} dependencies: sourcemap-codec: 1.4.8 @@ -14628,11 +14647,11 @@ packages: engines: {node: '>=6'} dev: true - /p-map/4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} + /p-map/5.5.0: + resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} + engines: {node: '>=12'} dependencies: - aggregate-error: 3.1.0 + aggregate-error: 4.0.1 dev: true /p-try/2.2.0: @@ -15914,7 +15933,7 @@ packages: rollup-plugin-inject: 3.0.2 dev: true - /rollup-plugin-terser/7.0.2_rollup@2.79.1: + /rollup-plugin-terser/7.0.2_rollup@2.79.0: resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} peerDependencies: rollup: ^2.0.0 @@ -15924,7 +15943,7 @@ packages: dependencies: '@babel/code-frame': 7.18.6 jest-worker: 26.6.2 - rollup: 2.79.1 + rollup: 2.79.0 serialize-javascript: 4.0.0 terser: 5.15.0 @@ -15941,8 +15960,8 @@ packages: fsevents: 2.3.2 dev: false - /rollup/2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + /rollup/2.79.0: + resolution: {integrity: sha512-x4KsrCgwQ7ZJPcFA/SUu6QVcYlO7uRLfLAy0DSA4NS2eG8japdbpM50ToH7z4iObodRYOJ0soneF0iaQRJ6zhA==} engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: @@ -15992,8 +16011,8 @@ packages: dependencies: suf-log: 2.5.3 - /sass/1.55.0: - resolution: {integrity: sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A==} + /sass/1.54.9: + resolution: {integrity: sha512-xb1hjASzEH+0L0WI9oFjqhRi51t/gagWnxLiwUNMltA0Ab6jIDkAacgKiGYKM9Jhy109osM7woEEai6SXeJo5Q==} engines: {node: '>=12.0.0'} hasBin: true dependencies: @@ -16223,7 +16242,6 @@ packages: /slash/4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} - dev: false /smart-buffer/4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} @@ -16262,8 +16280,8 @@ packages: smart-buffer: 4.2.0 dev: true - /solid-js/1.5.6: - resolution: {integrity: sha512-EA7hjMIEdDUuV6Fk3WUQ2fPx7sRnhjl+3M59zj6Sh+c7c3JF3N1cSViBvX8MYJG9vEBEqKQBZUfKHPe/9JgKvQ==} + /solid-js/1.5.5: + resolution: {integrity: sha512-5gXszD7ekhe59IyMa3+AvREJnBWVjwaeC7afL8C3UNPj5gQQCrsMs/cXwI3JRpj6D+3TESTyuQ2sY++m4cYiTg==} dependencies: csstype: 3.1.1 @@ -17411,7 +17429,7 @@ packages: dependencies: '@rollup/pluginutils': 4.2.1 imagetools-core: 3.2.1 - magic-string: 0.26.4 + magic-string: 0.26.3 dev: false /vite-plugin-pwa/0.11.11_workbox-window@6.5.4: @@ -17426,7 +17444,7 @@ packages: debug: 4.3.4 fast-glob: 3.2.12 pretty-bytes: 5.6.0 - rollup: 2.79.1 + rollup: 2.79.0 workbox-build: 6.5.4 workbox-window: 6.5.4 transitivePeerDependencies: @@ -17461,7 +17479,7 @@ packages: fsevents: 2.3.2 dev: false - /vite/3.1.3_sass@1.55.0: + /vite/3.1.3_sass@1.54.9: resolution: {integrity: sha512-/3XWiktaopByM5bd8dqvHxRt5EEgRikevnnrpND0gRfNkrMrPaGGexhtLCzv15RcCMtV2CLw+BPas8YFeSG0KA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -17484,7 +17502,7 @@ packages: postcss: 8.4.16 resolve: 1.22.1 rollup: 2.78.1 - sass: 1.55.0 + sass: 1.54.9 optionalDependencies: fsevents: 2.3.2 dev: false @@ -17729,9 +17747,9 @@ packages: '@babel/core': 7.19.1 '@babel/preset-env': 7.19.1_@babel+core@7.19.1 '@babel/runtime': 7.19.0 - '@rollup/plugin-babel': 5.3.1_r56fldxoyazzliugjcx2ns4pma - '@rollup/plugin-node-resolve': 11.2.1_rollup@2.79.1 - '@rollup/plugin-replace': 2.4.2_rollup@2.79.1 + '@rollup/plugin-babel': 5.3.1_qjhfxcwn2glzcb5646tzyg45bq + '@rollup/plugin-node-resolve': 11.2.1_rollup@2.79.0 + '@rollup/plugin-replace': 2.4.2_rollup@2.79.0 '@surma/rollup-plugin-off-main-thread': 2.2.3 ajv: 8.11.0 common-tags: 1.8.2 @@ -17740,8 +17758,8 @@ packages: glob: 7.2.3 lodash: 4.17.21 pretty-bytes: 5.6.0 - rollup: 2.79.1 - rollup-plugin-terser: 7.0.2_rollup@2.79.1 + rollup: 2.79.0 + rollup-plugin-terser: 7.0.2_rollup@2.79.0 source-map: 0.8.0-beta.0 stringify-object: 3.3.0 strip-comments: 2.0.1 @@ -17858,8 +17876,8 @@ packages: resolution: {integrity: sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==} dev: true - /wrangler/2.1.6: - resolution: {integrity: sha512-gwIdA5UPNA/u6U2vCVit3t75ldWmBiN11OQOK48G0u1xN/gdH/ktHWR/C8blDXTAM4c53mLJJw5u5X55ZR1LLw==} + /wrangler/2.1.5: + resolution: {integrity: sha512-j8nTCSygWdsPwPBytZj0oUSAAUCt8sh6K8ZTewHMNzT8yGGAb5aXIdSfzyGYTfp6dnMqaafz4Khyf34XmHcXGQ==} engines: {node: '>=16.13.0'} hasBin: true dependencies: diff --git a/scripts/cmd/build.js b/scripts/cmd/build.js index 5d59f5180127..1f543d70a178 100644 --- a/scripts/cmd/build.js +++ b/scripts/cmd/build.js @@ -1,6 +1,6 @@ import esbuild from 'esbuild'; import svelte from '../utils/svelte-plugin.js'; -import del from 'del'; +import { deleteAsync } from 'del'; import { promises as fs } from 'fs'; import { dim, green, red, yellow } from 'kleur/colors'; import glob from 'tiny-glob'; @@ -109,5 +109,5 @@ export default async function build(...args) { } async function clean(outdir) { - return del([`${outdir}/**`, `!${outdir}/**/*.d.ts`]); + return deleteAsync([`${outdir}/**`, `!${outdir}/**/*.d.ts`]); }