diff --git a/docs/guide/go-further/testing.md b/docs/guide/go-further/testing.md index 96250b5b5..8c5f23005 100644 --- a/docs/guide/go-further/testing.md +++ b/docs/guide/go-further/testing.md @@ -19,7 +19,7 @@ There are other options for unit tests however, like [Jest](https://jestjs.io/), If you want to try to use a different framework for unit tests, you will need to configure the environment manually: - **Auto-imports**: Add `unimport` to your test environment or disable them by setting `imports: false` in your `wxt.config.ts` file -- **`browser` mock**: Mock the `webextension-polyfill` module globally with `wxt/dist/virtual/mock-browser.js` +- **`browser` mock**: Mock the `webextension-polyfill` module globally with `wxt/dist/virtual/mock-browser.mjs` - **[Remote Code Bundling](/guide/go-further/remote-code)**: If you use it, configure your environment to handle the `url:` module prefix - **Global Variables**: If you consume them, manually define globals provided by WXT (like `import.meta.env.BROWSER`) by adding them to the global scope before accessing them (`import.meta.env.BROWSER = "chrome"`) - **Import paths**: If you use the `@/` or `~/` path aliases, add them to your test environment diff --git a/packages/wxt-demo/package.json b/packages/wxt-demo/package.json index 57fed11b4..fa700c29d 100644 --- a/packages/wxt-demo/package.json +++ b/packages/wxt-demo/package.json @@ -5,7 +5,7 @@ "type": "module", "scripts": { "dev": "buildc --deps-only -- wxt", - "build": "buildc -- wxt build", + "build": "buildc --deps-only -- wxt build", "build:all": "buildc --deps-only -- run-s -s 'build:all:*'", "build:all:chrome-mv3": "wxt build", "build:all:chrome-mv2": "wxt build --mv2", diff --git a/packages/wxt/bin/wxt.mjs b/packages/wxt/bin/wxt.mjs index 7c3d1548c..ee83ee3de 100755 --- a/packages/wxt/bin/wxt.mjs +++ b/packages/wxt/bin/wxt.mjs @@ -1,2 +1,2 @@ #!/usr/bin/env node -import '../dist/cli.js'; +import '../dist/cli/index.mjs'; diff --git a/packages/wxt/build.config.ts b/packages/wxt/build.config.ts new file mode 100644 index 000000000..52a76e307 --- /dev/null +++ b/packages/wxt/build.config.ts @@ -0,0 +1,49 @@ +import { defineBuildConfig } from 'unbuild'; +import { version } from './package.json'; +import { readFile, writeFile } from 'fs/promises'; +import { + virtualEntrypointModuleNames, + virtualModuleNames, +} from './src/core/utils/virtual-modules'; + +export default defineBuildConfig([ + // Non-virtual modules can be transpiled with mkdist + { + entries: [ + { + builder: 'mkdist', + input: 'src', + pattern: ['**/*', '!**/__tests__', '!**/*.md', '!virtual'], + declaration: true, + }, + ], + hooks: { + async 'build:done'() { + // Replace any template variables in output files + await replaceVars('dist/version.mjs', { version }); + }, + }, + }, + + // Virtual modules must be bundled individually + ...virtualModuleNames.map((moduleName) => ({ + entries: [`src/virtual/${moduleName}.ts`], + externals: [ + ...virtualEntrypointModuleNames.map((name) => `virtual:user-${name}`), + 'virtual:wxt-plugins', + 'virtual:app-config', + 'wxt/browser', + 'wxt/sandbox', + 'wxt/client', + 'wxt/testing', + ], + })), +]); + +async function replaceVars(file: string, vars: Record) { + let text = await readFile(file, 'utf8'); + Object.entries(vars).forEach(([name, value]) => { + text = text.replaceAll(`{{${name}}}`, value); + }); + await writeFile(file, text, 'utf8'); +} diff --git a/packages/wxt/e2e/tests/analysis.test.ts b/packages/wxt/e2e/tests/analysis.test.ts index c48fdc5b2..0ba662f9f 100644 --- a/packages/wxt/e2e/tests/analysis.test.ts +++ b/packages/wxt/e2e/tests/analysis.test.ts @@ -1,6 +1,6 @@ import { describe, it, expect, beforeEach, vi } from 'vitest'; import { TestProject } from '../utils'; -import { resetBundleIncrement } from '~/core/builders/vite/plugins'; +import { resetBundleIncrement } from '../../src/core/builders/vite/plugins'; import open from 'open'; vi.mock('open'); diff --git a/packages/wxt/e2e/tests/hooks.test.ts b/packages/wxt/e2e/tests/hooks.test.ts index 035fd002e..ff093d178 100644 --- a/packages/wxt/e2e/tests/hooks.test.ts +++ b/packages/wxt/e2e/tests/hooks.test.ts @@ -1,6 +1,6 @@ import { describe, it, expect, vi, beforeEach } from 'vitest'; import { TestProject } from '../utils'; -import { WxtHooks } from '~/types'; +import { WxtHooks } from '../../src/types'; const hooks: WxtHooks = { ready: vi.fn(), diff --git a/packages/wxt/e2e/tests/init.test.ts b/packages/wxt/e2e/tests/init.test.ts index e9786b87f..269a86ce0 100644 --- a/packages/wxt/e2e/tests/init.test.ts +++ b/packages/wxt/e2e/tests/init.test.ts @@ -1,9 +1,8 @@ import { describe, it, expect } from 'vitest'; -import { TestProject } from '../utils'; +import { TestProject, WXT_PACKAGE_DIR } from '../utils'; import { execaCommand } from 'execa'; import glob from 'fast-glob'; import { mkdir, writeJson } from 'fs-extra'; -import { WXT_PACKAGE_DIR } from '../utils'; describe('Init command', () => { it('should download and create a template', async () => { diff --git a/packages/wxt/e2e/tests/modules.test.ts b/packages/wxt/e2e/tests/modules.test.ts index 9f78db94e..768e9099a 100644 --- a/packages/wxt/e2e/tests/modules.test.ts +++ b/packages/wxt/e2e/tests/modules.test.ts @@ -2,7 +2,7 @@ import { describe, it, expect, vi } from 'vitest'; import { TestProject } from '../utils'; import type { GenericEntrypoint, InlineConfig } from '../../src/types'; import { readFile } from 'fs-extra'; -import { normalizePath } from '~/core/utils/paths'; +import { normalizePath } from '../../src/core/utils/paths'; describe('Module Helpers', () => { describe('options', () => { diff --git a/packages/wxt/e2e/tests/output-structure.test.ts b/packages/wxt/e2e/tests/output-structure.test.ts index fecd9b97f..07a47be07 100644 --- a/packages/wxt/e2e/tests/output-structure.test.ts +++ b/packages/wxt/e2e/tests/output-structure.test.ts @@ -293,13 +293,13 @@ describe('Output Directory Structure', () => { function print(method, ...args) { return; } - var logger = { + const logger = { debug: (...args) => print(console.debug, ...args), log: (...args) => print(console.log, ...args), warn: (...args) => print(console.warn, ...args), error: (...args) => print(console.error, ...args) }; - var result; + let result; try { initPlugins(); result = definition.main(); @@ -381,13 +381,13 @@ describe('Output Directory Structure', () => { function print(method, ...args) { return; } - var logger = { + const logger = { debug: (...args) => print(console.debug, ...args), log: (...args) => print(console.log, ...args), warn: (...args) => print(console.warn, ...args), error: (...args) => print(console.error, ...args) }; - var result; + let result; try { initPlugins(); result = definition.main(); @@ -400,8 +400,8 @@ describe('Output Directory Structure', () => { logger.error("The background crashed on startup!"); throw err; } - var background_entrypoint_default = result; - return background_entrypoint_default; + const result$1 = result; + return result$1; }(); _background; " diff --git a/packages/wxt/e2e/tests/user-config.test.ts b/packages/wxt/e2e/tests/user-config.test.ts index 9f8e7a795..cc9f2da3d 100644 --- a/packages/wxt/e2e/tests/user-config.test.ts +++ b/packages/wxt/e2e/tests/user-config.test.ts @@ -1,6 +1,6 @@ import { describe, it, expect } from 'vitest'; import { TestProject } from '../utils'; -import { InlineConfig } from '~/types'; +import { InlineConfig } from '../../src/types'; describe('User Config', () => { // Root directory is tested with all tests. diff --git a/packages/wxt/package.json b/packages/wxt/package.json index b7c8d70f3..7557174f0 100644 --- a/packages/wxt/package.json +++ b/packages/wxt/package.json @@ -30,69 +30,44 @@ "wxt": "./bin/wxt.mjs", "wxt-publish-extension": "./bin/wxt-publish-extension.cjs" }, - "main": "./dist/index.cjs", - "module": "./dist/index.js", + "module": "./dist/index.mjs", "types": "./dist/index.d.ts", "exports": { ".": { - "import": { - "types": "./dist/index.d.ts", - "default": "./dist/index.js" - }, - "require": { - "types": "./dist/index.d.cts", - "default": "./dist/index.cjs" - } + "types": "./dist/index.d.ts", + "default": "./dist/index.mjs" }, "./client": { - "types": "./dist/client.d.ts", - "import": "./dist/client.js" + "types": "./dist/client/index.d.ts", + "default": "./dist/client/index.mjs" }, "./sandbox": { - "types": "./dist/sandbox.d.ts", - "import": "./dist/sandbox.js" + "types": "./dist/sandbox/index.d.ts", + "default": "./dist/sandbox/index.mjs" }, "./browser": { "types": "./dist/browser.d.ts", - "import": "./dist/browser.js" + "default": "./dist/browser.mjs" }, "./testing": { - "import": { - "types": "./dist/testing.d.ts", - "default": "./dist/testing.js" - }, - "require": { - "types": "./dist/testing.d.cts", - "default": "./dist/testing.cjs" - } + "types": "./dist/testing/index.d.ts", + "default": "./dist/testing/index.mjs" }, "./storage": { - "import": { - "types": "./dist/storage.d.ts", - "default": "./dist/storage.js" - }, - "require": { - "types": "./dist/storage.d.cts", - "default": "./dist/storage.cjs" - } + "types": "./dist/storage.d.ts", + "default": "./dist/storage.mjs" }, "./vite-builder-env": { "types": "./dist/vite-builder-env.d.ts" }, "./modules": { - "import": { - "types": "./dist/modules.d.ts", - "default": "./dist/modules.js" - }, - "require": { - "types": "./dist/modules.d.cts", - "default": "./dist/modules.cjs" - } + "types": "./dist/modules.d.ts", + "default": "./dist/modules.mjs" } }, "scripts": { "wxt": "tsx src/cli/index.ts", - "build": "buildc -- tsx scripts/build.ts", + "build": "buildc -- unbuild", "check": "buildc --deps-only -- run-s -c check:*", "check:default": "check", "check:tsc-virtual": "tsc --noEmit -p src/virtual", @@ -158,9 +133,9 @@ "lodash.merge": "^4.6.2", "p-map": "^7.0.2", "publint": "^0.2.9", - "tsup": "^8.2.1", "tsx": "4.15.7", "typescript": "^5.5.3", + "unbuild": "^2.0.0", "vitest": "^2.0.3", "vitest-plugin-random-seed": "^1.1.0" } diff --git a/packages/wxt/scripts/build.ts b/packages/wxt/scripts/build.ts deleted file mode 100644 index ade6bc00e..000000000 --- a/packages/wxt/scripts/build.ts +++ /dev/null @@ -1,126 +0,0 @@ -import tsup from 'tsup'; -import glob from 'fast-glob'; -import { printFileList } from '~/core/utils/log'; -import { formatDuration } from '~/core/utils/time'; -import ora from 'ora'; -import fs from 'fs-extra'; -import { consola } from 'consola'; -import pMap from 'p-map'; -import os from 'node:os'; -import path from 'node:path'; -import { - virtualModuleNames, - virtualEntrypointModuleNames, -} from '~/core/utils/virtual-modules'; - -const spinnerText = 'Building WXT'; -const spinner = ora(spinnerText).start(); - -const startTime = Date.now(); -const outDir = 'dist'; -await fs.rm(path.join(outDir, '*'), { recursive: true, force: true }); - -const preset = { - dts: true, - silent: true, - sourcemap: false, - external: [ - ...virtualEntrypointModuleNames.map((name) => `virtual:user-${name}`), - 'virtual:wxt-plugins', - 'virtual:app-config', - ], -} satisfies tsup.Options; - -function spinnerPMap(configs: tsup.Options[]) { - let progress = 1; - const updateSpinner = () => { - spinner.text = `${spinnerText} [${progress}/${configs.length}]`; - }; - updateSpinner(); - - return pMap( - config, - async (config) => { - const res = await tsup.build(config); - progress++; - updateSpinner(); - return res; - }, - { - stopOnError: true, - concurrency: process.env.CI === 'true' ? os.cpus().length : Infinity, - }, - ); -} - -const config: tsup.Options[] = [ - // CJS/ESM - { - ...preset, - entry: { - index: 'src/index.ts', - testing: 'src/testing/index.ts', - storage: 'src/storage.ts', - modules: 'src/modules.ts', - }, - format: ['cjs', 'esm'], - clean: true, - }, - // ESM-only - { - ...preset, - entry: { - browser: 'src/browser.ts', - sandbox: 'src/sandbox/index.ts', - client: 'src/client/index.ts', - }, - format: ['esm'], - }, - { - ...preset, - entry: virtualModuleNames.reduce>( - (acc, moduleName) => { - acc[`virtual/${moduleName}`] = `src/virtual/${moduleName}.ts`; - return acc; - }, - {}, - ), - format: ['esm'], - splitting: false, - dts: false, - external: [...preset.external, 'wxt'], - }, - // CJS-only - { - ...preset, - entry: { - cli: 'src/cli/index.ts', - }, - format: ['esm'], - banner: { - // Fixes dynamic require of nodejs modules. See https://github.com/wxt-dev/wxt/issues/355 - // https://github.com/evanw/esbuild/issues/1921#issuecomment-1152991694 - js: "import { createRequire } from 'module';const require = createRequire(import.meta.url);", - }, - }, -]; - -await spinnerPMap(config).catch((err) => { - spinner.fail(); - console.error(err); - process.exit(1); -}); - -// Copy "public" files that need shipped inside WXT -await fs.copyFile('src/vite-builder-env.d.ts', 'dist/vite-builder-env.d.ts'); - -spinner.clear().stop(); - -const duration = Date.now() - startTime; -const outFiles = await glob(`${outDir}/**`, { absolute: true }); -await printFileList( - consola.success, - `Built WXT in ${formatDuration(duration)}`, - outDir, - outFiles, -); diff --git a/packages/wxt/src/__tests__/modules.test.ts b/packages/wxt/src/__tests__/modules.test.ts index b56303743..6e0982d13 100644 --- a/packages/wxt/src/__tests__/modules.test.ts +++ b/packages/wxt/src/__tests__/modules.test.ts @@ -1,4 +1,4 @@ -import { fakeWxt } from '~/core/utils/testing/fake-objects'; +import { fakeWxt } from '../core/utils/testing/fake-objects'; import { addImportPreset, addViteConfig } from '../modules'; import { describe, it, expect } from 'vitest'; import { createHooks } from 'hookable'; diff --git a/packages/wxt/src/__tests__/storage.test.ts b/packages/wxt/src/__tests__/storage.test.ts index 4870deb70..bd465f05f 100644 --- a/packages/wxt/src/__tests__/storage.test.ts +++ b/packages/wxt/src/__tests__/storage.test.ts @@ -1,7 +1,7 @@ import { fakeBrowser } from '@webext-core/fake-browser'; import { describe, it, expect, beforeEach, vi, expectTypeOf } from 'vitest'; -import { browser } from '~/browser'; -import { WxtStorageItem, storage } from '~/storage'; +import { browser } from '../browser'; +import { WxtStorageItem, storage } from '../storage'; /** * This works because fakeBrowser is synchronous, and is will finish any number of chained diff --git a/packages/wxt/src/builtin-modules/index.ts b/packages/wxt/src/builtin-modules/index.ts index de85b98a9..d958b95b4 100644 --- a/packages/wxt/src/builtin-modules/index.ts +++ b/packages/wxt/src/builtin-modules/index.ts @@ -1,4 +1,4 @@ -import { WxtModule } from '~/types'; +import { WxtModule } from '../types'; import unimport from './unimport'; export const builtinModules: WxtModule[] = [unimport]; diff --git a/packages/wxt/src/builtin-modules/unimport.ts b/packages/wxt/src/builtin-modules/unimport.ts index fca1bf927..a915e6653 100644 --- a/packages/wxt/src/builtin-modules/unimport.ts +++ b/packages/wxt/src/builtin-modules/unimport.ts @@ -1,10 +1,10 @@ -import { addViteConfig, defineWxtModule } from '~/modules'; +import { addViteConfig, defineWxtModule } from '../modules'; import type { EslintGlobalsPropValue, WxtDirFileEntry, WxtModule, WxtResolvedUnimportOptions, -} from '~/types'; +} from '../types'; import { type Unimport, createUnimport } from 'unimport'; import { Plugin } from 'vite'; import { extname } from 'node:path'; diff --git a/packages/wxt/src/cli/__tests__/index.test.ts b/packages/wxt/src/cli/__tests__/index.test.ts index c3e5adb07..6419163b9 100644 --- a/packages/wxt/src/cli/__tests__/index.test.ts +++ b/packages/wxt/src/cli/__tests__/index.test.ts @@ -1,29 +1,29 @@ import { describe, it, vi, beforeEach, expect } from 'vitest'; -import { build } from '~/core/build'; -import { createServer } from '~/core/create-server'; -import { zip } from '~/core/zip'; -import { prepare } from '~/core/prepare'; -import { clean } from '~/core/clean'; -import { initialize } from '~/core/initialize'; +import { build } from '../../core/build'; +import { createServer } from '../../core/create-server'; +import { zip } from '../../core/zip'; +import { prepare } from '../../core/prepare'; +import { clean } from '../../core/clean'; +import { initialize } from '../../core/initialize'; import { mock } from 'vitest-mock-extended'; import consola from 'consola'; -vi.mock('~/core/build'); +vi.mock('../../core/build'); const buildMock = vi.mocked(build); -vi.mock('~/core/create-server'); +vi.mock('../../core/create-server'); const createServerMock = vi.mocked(createServer); -vi.mock('~/core/zip'); +vi.mock('../../core/zip'); const zipMock = vi.mocked(zip); -vi.mock('~/core/prepare'); +vi.mock('../../core/prepare'); const prepareMock = vi.mocked(prepare); -vi.mock('~/core/clean'); +vi.mock('../../core/clean'); const cleanMock = vi.mocked(clean); -vi.mock('~/core/initialize'); +vi.mock('../../core/initialize'); const initializeMock = vi.mocked(initialize); consola.wrapConsole(); @@ -35,7 +35,7 @@ function mockArgv(...args: string[]) { } async function importCli() { - await import('~/cli'); + await import('../../cli'); } describe('CLI', () => { diff --git a/packages/wxt/src/cli/cli-utils.ts b/packages/wxt/src/cli/cli-utils.ts index f332e00fd..952416a17 100644 --- a/packages/wxt/src/cli/cli-utils.ts +++ b/packages/wxt/src/cli/cli-utils.ts @@ -1,10 +1,10 @@ import { CAC, Command } from 'cac'; import consola, { LogLevels } from 'consola'; -import { filterTruthy, toArray } from '~/core/utils/arrays'; -import { printHeader } from '~/core/utils/log'; -import { formatDuration } from '~/core/utils/time'; -import { ValidationError } from '~/core/utils/validation'; -import { registerWxt } from '~/core/wxt'; +import { filterTruthy, toArray } from '../core/utils/arrays'; +import { printHeader } from '../core/utils/log'; +import { formatDuration } from '../core/utils/time'; +import { ValidationError } from '../core/utils/validation'; +import { registerWxt } from '../core/wxt'; /** * Wrap an action handler to add a timer, error handling, and maybe enable debug mode. diff --git a/packages/wxt/src/cli/commands.ts b/packages/wxt/src/cli/commands.ts index e204e423c..75b02947d 100644 --- a/packages/wxt/src/cli/commands.ts +++ b/packages/wxt/src/cli/commands.ts @@ -1,5 +1,5 @@ import cac from 'cac'; -import { build, clean, createServer, initialize, prepare, zip } from '~/core'; +import { build, clean, createServer, initialize, prepare, zip } from '../core'; import { createAliasedCommand, getArrayFromFlags, diff --git a/packages/wxt/src/cli/index.ts b/packages/wxt/src/cli/index.ts index 7bb304003..29002fd46 100644 --- a/packages/wxt/src/cli/index.ts +++ b/packages/wxt/src/cli/index.ts @@ -1,5 +1,5 @@ import cli from './commands'; -import { version } from '~/version'; +import { version } from '../version'; import { isAliasedCommand } from './cli-utils'; // TODO: Remove. See https://github.com/wxt-dev/wxt/issues/277 diff --git a/packages/wxt/src/client/app-config.ts b/packages/wxt/src/client/app-config.ts index 63ea68fb2..482d345f0 100644 --- a/packages/wxt/src/client/app-config.ts +++ b/packages/wxt/src/client/app-config.ts @@ -1,6 +1,6 @@ // @ts-expect-error: Untyped virtual module import appConfig from 'virtual:app-config'; -import type { WxtAppConfig } from '~/sandbox/define-app-config'; +import type { WxtAppConfig } from '../sandbox/define-app-config'; export function useAppConfig(): WxtAppConfig { return appConfig; diff --git a/packages/wxt/src/client/content-scripts/content-script-context.ts b/packages/wxt/src/client/content-scripts/content-script-context.ts index 2e6401de7..f3ac0def3 100644 --- a/packages/wxt/src/client/content-scripts/content-script-context.ts +++ b/packages/wxt/src/client/content-scripts/content-script-context.ts @@ -1,6 +1,6 @@ -import { ContentScriptDefinition } from '~/types'; -import { browser } from '~/browser'; -import { logger } from '~/sandbox/utils/logger'; +import { ContentScriptDefinition } from '../../types'; +import { browser } from '../../browser'; +import { logger } from '../../sandbox/utils/logger'; import { WxtLocationChangeEvent, getUniqueEventName } from './custom-events'; import { createLocationWatcher } from './location-watcher'; diff --git a/packages/wxt/src/client/content-scripts/custom-events.ts b/packages/wxt/src/client/content-scripts/custom-events.ts index df3a97312..29747c734 100644 --- a/packages/wxt/src/client/content-scripts/custom-events.ts +++ b/packages/wxt/src/client/content-scripts/custom-events.ts @@ -1,4 +1,4 @@ -import { browser } from '~/browser'; +import { browser } from '../../browser'; export class WxtLocationChangeEvent extends Event { static EVENT_NAME = getUniqueEventName('wxt:locationchange'); diff --git a/packages/wxt/src/client/content-scripts/ui/index.ts b/packages/wxt/src/client/content-scripts/ui/index.ts index 1cd05271a..dd648cf3d 100644 --- a/packages/wxt/src/client/content-scripts/ui/index.ts +++ b/packages/wxt/src/client/content-scripts/ui/index.ts @@ -1,4 +1,4 @@ -import { browser } from '~/browser'; +import { browser } from '../../../browser'; import { ContentScriptContext } from '..'; import { ContentScriptAnchoredOptions, @@ -10,7 +10,7 @@ import { ShadowRootContentScriptUi, ShadowRootContentScriptUiOptions, } from './types'; -import { logger } from '~/sandbox/utils/logger'; +import { logger } from '../../../sandbox/utils/logger'; import { createIsolatedElement } from '@webext-core/isolated-element'; export * from './types'; diff --git a/packages/wxt/src/core/build.ts b/packages/wxt/src/core/build.ts index bcb384793..a575cf166 100644 --- a/packages/wxt/src/core/build.ts +++ b/packages/wxt/src/core/build.ts @@ -1,4 +1,4 @@ -import { BuildOutput, InlineConfig } from '~/types'; +import { BuildOutput, InlineConfig } from '../types'; import { internalBuild } from './utils/building'; import { registerWxt } from './wxt'; diff --git a/packages/wxt/src/core/builders/vite/index.ts b/packages/wxt/src/core/builders/vite/index.ts index 5dff11bb0..8f2bd1631 100644 --- a/packages/wxt/src/core/builders/vite/index.ts +++ b/packages/wxt/src/core/builders/vite/index.ts @@ -7,20 +7,20 @@ import { WxtBuilderServer, WxtDevServer, WxtHooks, -} from '~/types'; +} from '../../../types'; import * as wxtPlugins from './plugins'; import { getEntrypointBundlePath, isHtmlEntrypoint, -} from '~/core/utils/entrypoints'; +} from '../../utils/entrypoints'; import { VirtualEntrypointType, VirtualModuleId, -} from '~/core/utils/virtual-modules'; +} from '../../utils/virtual-modules'; import { Hookable } from 'hookable'; -import { toArray } from '~/core/utils/arrays'; -import { safeVarName } from '~/core/utils/strings'; -import { importEntrypointFile } from '~/core/utils/building'; +import { toArray } from '../../utils/arrays'; +import { safeVarName } from '../../utils/strings'; +import { importEntrypointFile } from '../../utils/building'; import { ViteNodeServer } from 'vite-node/server'; import { ViteNodeRunner } from 'vite-node/client'; import { installSourcemapsSupport } from 'vite-node/source-map'; diff --git a/packages/wxt/src/core/builders/vite/plugins/__tests__/devHtmlPrerender.test.ts b/packages/wxt/src/core/builders/vite/plugins/__tests__/devHtmlPrerender.test.ts index 0b8eb663a..f6a1e6a5b 100644 --- a/packages/wxt/src/core/builders/vite/plugins/__tests__/devHtmlPrerender.test.ts +++ b/packages/wxt/src/core/builders/vite/plugins/__tests__/devHtmlPrerender.test.ts @@ -4,8 +4,8 @@ import { pointToDevServer } from '../devHtmlPrerender'; import { fakeDevServer, fakeResolvedConfig, -} from '~/core/utils/testing/fake-objects'; -import { normalizePath } from '~/core/utils/paths'; +} from '../../../../utils/testing/fake-objects'; +import { normalizePath } from '../../../../utils/paths'; import { resolve } from 'node:path'; describe('Dev HTML Prerender Plugin', () => { diff --git a/packages/wxt/src/core/builders/vite/plugins/bundleAnalysis.ts b/packages/wxt/src/core/builders/vite/plugins/bundleAnalysis.ts index 61a313107..b06b52477 100644 --- a/packages/wxt/src/core/builders/vite/plugins/bundleAnalysis.ts +++ b/packages/wxt/src/core/builders/vite/plugins/bundleAnalysis.ts @@ -1,11 +1,12 @@ import type * as vite from 'vite'; import { visualizer } from '@aklinker1/rollup-plugin-visualizer'; -import { ResolvedConfig } from '~/types'; +import { ResolvedConfig } from '../../../../types'; import path from 'node:path'; let increment = 0; export function bundleAnalysis(config: ResolvedConfig): vite.Plugin { + // @ts-expect-error: Vite version mismatch return visualizer({ template: 'raw-data', filename: path.resolve( diff --git a/packages/wxt/src/core/builders/vite/plugins/cssEntrypoints.ts b/packages/wxt/src/core/builders/vite/plugins/cssEntrypoints.ts index bf8cca9bb..39e08f901 100644 --- a/packages/wxt/src/core/builders/vite/plugins/cssEntrypoints.ts +++ b/packages/wxt/src/core/builders/vite/plugins/cssEntrypoints.ts @@ -1,6 +1,6 @@ import type * as vite from 'vite'; -import { Entrypoint, ResolvedConfig } from '~/types'; -import { getEntrypointBundlePath } from '~/core/utils/entrypoints'; +import { Entrypoint, ResolvedConfig } from '../../../../types'; +import { getEntrypointBundlePath } from '../../../utils/entrypoints'; /** * Rename CSS entrypoint outputs to ensure a JS file is not generated, and that the CSS file is diff --git a/packages/wxt/src/core/builders/vite/plugins/devHtmlPrerender.ts b/packages/wxt/src/core/builders/vite/plugins/devHtmlPrerender.ts index 029cf71df..4f7340a00 100644 --- a/packages/wxt/src/core/builders/vite/plugins/devHtmlPrerender.ts +++ b/packages/wxt/src/core/builders/vite/plugins/devHtmlPrerender.ts @@ -1,9 +1,9 @@ import type * as vite from 'vite'; -import { ResolvedConfig, WxtDevServer } from '~/types'; -import { getEntrypointName } from '~/core/utils/entrypoints'; +import { ResolvedConfig, WxtDevServer } from '../../../../types'; +import { getEntrypointName } from '../../../utils/entrypoints'; import { parseHTML } from 'linkedom'; import { dirname, relative, resolve } from 'node:path'; -import { normalizePath } from '~/core/utils/paths'; +import { normalizePath } from '../../../utils/paths'; import { murmurHash } from 'ohash'; // Stored outside the plugin to effect all instances of the devHtmlPrerender plugin. @@ -19,7 +19,7 @@ export function devHtmlPrerender( const htmlReloadId = '@wxt/reload-html'; const resolvedHtmlReloadId = resolve( config.wxtModuleDir, - 'dist/virtual/reload-html.js', + 'dist/virtual/reload-html.mjs', ); const virtualInlineScript = 'virtual:wxt-inline-script'; diff --git a/packages/wxt/src/core/builders/vite/plugins/devServerGlobals.ts b/packages/wxt/src/core/builders/vite/plugins/devServerGlobals.ts index 4bf1ceb37..3cb992ff1 100644 --- a/packages/wxt/src/core/builders/vite/plugins/devServerGlobals.ts +++ b/packages/wxt/src/core/builders/vite/plugins/devServerGlobals.ts @@ -1,5 +1,5 @@ import { Plugin } from 'vite'; -import { ResolvedConfig, WxtDevServer } from '~/types'; +import { ResolvedConfig, WxtDevServer } from '../../../../types'; /** * Defines global constants about the dev server. Helps scripts connect to the server's web socket. diff --git a/packages/wxt/src/core/builders/vite/plugins/download.ts b/packages/wxt/src/core/builders/vite/plugins/download.ts index 481d12600..1046041d2 100644 --- a/packages/wxt/src/core/builders/vite/plugins/download.ts +++ b/packages/wxt/src/core/builders/vite/plugins/download.ts @@ -1,6 +1,6 @@ import { Plugin } from 'vite'; -import { ResolvedConfig } from '~/types'; -import { fetchCached } from '~/core/utils/network'; +import { ResolvedConfig } from '../../../../types'; +import { fetchCached } from '../../../utils/network'; /** * Downloads any URL imports, like Google Analytics, into virtual modules so they are bundled with diff --git a/packages/wxt/src/core/builders/vite/plugins/entrypointGroupGlobals.ts b/packages/wxt/src/core/builders/vite/plugins/entrypointGroupGlobals.ts index d3c3c03c1..a9e3e1aea 100644 --- a/packages/wxt/src/core/builders/vite/plugins/entrypointGroupGlobals.ts +++ b/packages/wxt/src/core/builders/vite/plugins/entrypointGroupGlobals.ts @@ -1,6 +1,6 @@ import type * as vite from 'vite'; -import { EntrypointGroup } from '~/types'; -import { getEntrypointGlobals } from '~/core/utils/globals'; +import { EntrypointGroup } from '../../../../types'; +import { getEntrypointGlobals } from '../../../utils/globals'; /** * Define a set of global variables specific to an entrypoint. diff --git a/packages/wxt/src/core/builders/vite/plugins/excludeBrowserPolyfill.ts b/packages/wxt/src/core/builders/vite/plugins/excludeBrowserPolyfill.ts index bd677acf1..51486933a 100644 --- a/packages/wxt/src/core/builders/vite/plugins/excludeBrowserPolyfill.ts +++ b/packages/wxt/src/core/builders/vite/plugins/excludeBrowserPolyfill.ts @@ -1,4 +1,4 @@ -import { ResolvedConfig } from '~/types'; +import { ResolvedConfig } from '../../../../types'; import type * as vite from 'vite'; /** diff --git a/packages/wxt/src/core/builders/vite/plugins/globals.ts b/packages/wxt/src/core/builders/vite/plugins/globals.ts index 94d2fc913..5d59e24e7 100644 --- a/packages/wxt/src/core/builders/vite/plugins/globals.ts +++ b/packages/wxt/src/core/builders/vite/plugins/globals.ts @@ -1,6 +1,6 @@ import type * as vite from 'vite'; -import { ResolvedConfig } from '~/types'; -import { getGlobals } from '~/core/utils/globals'; +import { ResolvedConfig } from '../../../../types'; +import { getGlobals } from '../../../utils/globals'; export function globals(config: ResolvedConfig): vite.PluginOption { return { diff --git a/packages/wxt/src/core/builders/vite/plugins/multipageMove.ts b/packages/wxt/src/core/builders/vite/plugins/multipageMove.ts index 93963d9c2..d8b6c046f 100644 --- a/packages/wxt/src/core/builders/vite/plugins/multipageMove.ts +++ b/packages/wxt/src/core/builders/vite/plugins/multipageMove.ts @@ -1,9 +1,9 @@ import type * as vite from 'vite'; -import { Entrypoint, ResolvedConfig } from '~/types'; +import { Entrypoint, ResolvedConfig } from '../../../../types'; import { dirname, extname, resolve, join } from 'node:path'; -import { getEntrypointBundlePath } from '~/core/utils/entrypoints'; +import { getEntrypointBundlePath } from '../../../utils/entrypoints'; import fs, { ensureDir } from 'fs-extra'; -import { normalizePath } from '~/core/utils/paths'; +import { normalizePath } from '../../../utils/paths'; /** * Ensures the HTML files output by a multipage build are in the correct location. This does two diff --git a/packages/wxt/src/core/builders/vite/plugins/noopBackground.ts b/packages/wxt/src/core/builders/vite/plugins/noopBackground.ts index ebc76e5fd..f6e06cadb 100644 --- a/packages/wxt/src/core/builders/vite/plugins/noopBackground.ts +++ b/packages/wxt/src/core/builders/vite/plugins/noopBackground.ts @@ -1,5 +1,5 @@ import { Plugin } from 'vite'; -import { VIRTUAL_NOOP_BACKGROUND_MODULE_ID } from '~/core/utils/constants'; +import { VIRTUAL_NOOP_BACKGROUND_MODULE_ID } from '../../../utils/constants'; /** * In dev mode, if there's not a background script listed, we need to add one so that the web socket diff --git a/packages/wxt/src/core/builders/vite/plugins/removeEntrypointMainFunction.ts b/packages/wxt/src/core/builders/vite/plugins/removeEntrypointMainFunction.ts index 38ca7c13b..979523c6b 100644 --- a/packages/wxt/src/core/builders/vite/plugins/removeEntrypointMainFunction.ts +++ b/packages/wxt/src/core/builders/vite/plugins/removeEntrypointMainFunction.ts @@ -1,7 +1,7 @@ -import { ResolvedConfig } from '~/types'; +import { ResolvedConfig } from '../../../../types'; import * as vite from 'vite'; -import { normalizePath } from '~/core/utils/paths'; -import { removeMainFunctionCode } from '~/core/utils/transform'; +import { normalizePath } from '../../../utils/paths'; +import { removeMainFunctionCode } from '../../../utils/transform'; import { resolve } from 'node:path'; /** diff --git a/packages/wxt/src/core/builders/vite/plugins/resolveAppConfig.ts b/packages/wxt/src/core/builders/vite/plugins/resolveAppConfig.ts index 00180737f..e2b4e670e 100644 --- a/packages/wxt/src/core/builders/vite/plugins/resolveAppConfig.ts +++ b/packages/wxt/src/core/builders/vite/plugins/resolveAppConfig.ts @@ -1,7 +1,7 @@ import { exists } from 'fs-extra'; import { resolve } from 'node:path'; import type * as vite from 'vite'; -import { ResolvedConfig } from '~/types'; +import { ResolvedConfig } from '../../../../types'; /** * When importing `virtual:app-config`, resolve it to the `app.config.ts` file in the project. diff --git a/packages/wxt/src/core/builders/vite/plugins/resolveVirtualModules.ts b/packages/wxt/src/core/builders/vite/plugins/resolveVirtualModules.ts index 600ba7d40..231d932df 100644 --- a/packages/wxt/src/core/builders/vite/plugins/resolveVirtualModules.ts +++ b/packages/wxt/src/core/builders/vite/plugins/resolveVirtualModules.ts @@ -1,10 +1,10 @@ import { Plugin } from 'vite'; -import { ResolvedConfig } from '~/types'; -import { normalizePath } from '~/core/utils/paths'; +import { ResolvedConfig } from '../../../../types'; +import { normalizePath } from '../../../utils/paths'; import { VirtualModuleId, virtualModuleNames, -} from '~/core/utils/virtual-modules'; +} from '../../../utils/virtual-modules'; import fs from 'fs-extra'; import { resolve } from 'path'; @@ -31,7 +31,7 @@ export function resolveVirtualModules(config: ResolvedConfig): Plugin[] { const inputPath = id.replace(resolvedVirtualId, ''); const template = await fs.readFile( - resolve(config.wxtModuleDir, `dist/virtual/${name}.js`), + resolve(config.wxtModuleDir, `dist/virtual/${name}.mjs`), 'utf-8', ); return template.replace(`virtual:user-${name}`, inputPath); diff --git a/packages/wxt/src/core/builders/vite/plugins/tsconfigPaths.ts b/packages/wxt/src/core/builders/vite/plugins/tsconfigPaths.ts index 68cad079b..1528c09f2 100644 --- a/packages/wxt/src/core/builders/vite/plugins/tsconfigPaths.ts +++ b/packages/wxt/src/core/builders/vite/plugins/tsconfigPaths.ts @@ -1,4 +1,4 @@ -import { ResolvedConfig } from '~/types'; +import { ResolvedConfig } from '../../../../types'; import type * as vite from 'vite'; export function tsconfigPaths(config: ResolvedConfig): vite.Plugin { diff --git a/packages/wxt/src/core/builders/vite/plugins/webextensionPolyfillMock.ts b/packages/wxt/src/core/builders/vite/plugins/webextensionPolyfillMock.ts index 0230d2f89..50eb8cc90 100644 --- a/packages/wxt/src/core/builders/vite/plugins/webextensionPolyfillMock.ts +++ b/packages/wxt/src/core/builders/vite/plugins/webextensionPolyfillMock.ts @@ -1,6 +1,6 @@ import path from 'node:path'; import type * as vite from 'vite'; -import { ResolvedConfig } from '~/types'; +import { ResolvedConfig } from '../../../../types'; /** * Mock `webextension-polyfill` by inlining all dependencies that import it and adding a custom diff --git a/packages/wxt/src/core/builders/vite/plugins/wxtPluginLoader.ts b/packages/wxt/src/core/builders/vite/plugins/wxtPluginLoader.ts index 7bc484cc5..33fd13e2e 100644 --- a/packages/wxt/src/core/builders/vite/plugins/wxtPluginLoader.ts +++ b/packages/wxt/src/core/builders/vite/plugins/wxtPluginLoader.ts @@ -1,7 +1,7 @@ import { parseHTML } from 'linkedom'; import type * as vite from 'vite'; -import { normalizePath } from '~/core/utils/paths'; -import { ResolvedConfig } from '~/types'; +import { normalizePath } from '../../../utils/paths'; +import { ResolvedConfig } from '../../../../types'; /** * Resolve and load plugins for each entrypoint. This handles both JS entrypoints via the `virtual:wxt-plugins` import, and HTML files by adding `virtual:wxt-html-plugins` to the document's `` diff --git a/packages/wxt/src/core/clean.ts b/packages/wxt/src/core/clean.ts index 7befd378d..f3e9c0984 100644 --- a/packages/wxt/src/core/clean.ts +++ b/packages/wxt/src/core/clean.ts @@ -2,7 +2,7 @@ import path from 'node:path'; import glob from 'fast-glob'; import fs from 'fs-extra'; import pc from 'picocolors'; -import { InlineConfig } from '~/types'; +import { InlineConfig } from '../types'; import { registerWxt, wxt } from './wxt'; /** diff --git a/packages/wxt/src/core/create-server.ts b/packages/wxt/src/core/create-server.ts index 57235a92a..211500f24 100644 --- a/packages/wxt/src/core/create-server.ts +++ b/packages/wxt/src/core/create-server.ts @@ -4,22 +4,19 @@ import { InlineConfig, ServerInfo, WxtDevServer, -} from '~/types'; -import { - getEntrypointBundlePath, - isHtmlEntrypoint, -} from '~/core/utils/entrypoints'; +} from '../types'; +import { getEntrypointBundlePath, isHtmlEntrypoint } from './utils/entrypoints'; import { getContentScriptCssFiles, getContentScriptsCssMap, -} from '~/core/utils/manifest'; +} from './utils/manifest'; import { internalBuild, detectDevChanges, rebuild, findEntrypoints, -} from '~/core/utils/building'; -import { createExtensionRunner } from '~/core/runners'; +} from './utils/building'; +import { createExtensionRunner } from './runners'; import { Mutex } from 'async-mutex'; import pc from 'picocolors'; import { relative } from 'node:path'; diff --git a/packages/wxt/src/core/define-config.ts b/packages/wxt/src/core/define-config.ts index d2605759f..027263fe0 100644 --- a/packages/wxt/src/core/define-config.ts +++ b/packages/wxt/src/core/define-config.ts @@ -1,4 +1,4 @@ -import { UserConfig } from '~/types'; +import { UserConfig } from '../types'; export function defineConfig(config: UserConfig): UserConfig { return config; diff --git a/packages/wxt/src/core/define-runner-config.ts b/packages/wxt/src/core/define-runner-config.ts index baf3ac5b4..d931c085a 100644 --- a/packages/wxt/src/core/define-runner-config.ts +++ b/packages/wxt/src/core/define-runner-config.ts @@ -1,4 +1,4 @@ -import { ExtensionRunnerConfig } from '~/types'; +import { ExtensionRunnerConfig } from '../types'; export function defineRunnerConfig( config: ExtensionRunnerConfig, diff --git a/packages/wxt/src/core/package-managers/index.ts b/packages/wxt/src/core/package-managers/index.ts index ae2a25d3a..c34c0b74d 100644 --- a/packages/wxt/src/core/package-managers/index.ts +++ b/packages/wxt/src/core/package-managers/index.ts @@ -8,7 +8,7 @@ import { PackageManager, PackageManagerName, } from 'nypm'; -import { WxtPackageManager } from '~/types'; +import { WxtPackageManager } from '../../types'; import { bun } from './bun'; import { WxtPackageManagerImpl } from './types'; import { yarn } from './yarn'; diff --git a/packages/wxt/src/core/package-managers/npm.ts b/packages/wxt/src/core/package-managers/npm.ts index 05c49dd71..4137b962c 100644 --- a/packages/wxt/src/core/package-managers/npm.ts +++ b/packages/wxt/src/core/package-managers/npm.ts @@ -1,4 +1,4 @@ -import { Dependency } from '~/types'; +import { Dependency } from '../../types'; import { WxtPackageManagerImpl } from './types'; import path from 'node:path'; import { ensureDir } from 'fs-extra'; diff --git a/packages/wxt/src/core/package-managers/types.ts b/packages/wxt/src/core/package-managers/types.ts index 46ddbf941..8f53b5d68 100644 --- a/packages/wxt/src/core/package-managers/types.ts +++ b/packages/wxt/src/core/package-managers/types.ts @@ -1,4 +1,4 @@ -import { WxtPackageManager } from '~/types'; +import { WxtPackageManager } from '../../types'; export type WxtPackageManagerImpl = Pick< WxtPackageManager, diff --git a/packages/wxt/src/core/package-managers/yarn.ts b/packages/wxt/src/core/package-managers/yarn.ts index ad97e4023..c313ca8d6 100644 --- a/packages/wxt/src/core/package-managers/yarn.ts +++ b/packages/wxt/src/core/package-managers/yarn.ts @@ -1,4 +1,4 @@ -import { Dependency } from '~/types'; +import { Dependency } from '../../types'; import { WxtPackageManagerImpl } from './types'; import { dedupeDependencies, npm } from './npm'; diff --git a/packages/wxt/src/core/prepare.ts b/packages/wxt/src/core/prepare.ts index bd66286dc..90e66c721 100644 --- a/packages/wxt/src/core/prepare.ts +++ b/packages/wxt/src/core/prepare.ts @@ -1,5 +1,5 @@ -import { InlineConfig } from '~/types'; -import { findEntrypoints, generateTypesDir } from '~/core/utils/building'; +import { InlineConfig } from '../types'; +import { findEntrypoints, generateTypesDir } from './utils/building'; import { registerWxt, wxt } from './wxt'; export async function prepare(config: InlineConfig) { diff --git a/packages/wxt/src/core/runners/__tests__/index.test.ts b/packages/wxt/src/core/runners/__tests__/index.test.ts index 8218ad991..7b46e11bf 100644 --- a/packages/wxt/src/core/runners/__tests__/index.test.ts +++ b/packages/wxt/src/core/runners/__tests__/index.test.ts @@ -1,13 +1,13 @@ import { describe, expect, it, vi } from 'vitest'; import { createExtensionRunner } from '..'; -import { setFakeWxt } from '~/core/utils/testing/fake-objects'; +import { setFakeWxt } from '../../utils/testing/fake-objects'; import { mock } from 'vitest-mock-extended'; import { createSafariRunner } from '../safari'; import { createWslRunner } from '../wsl'; import { createManualRunner } from '../manual'; import { isWsl } from '../../utils/wsl'; import { createWebExtRunner } from '../web-ext'; -import { ExtensionRunner } from '~/types'; +import { ExtensionRunner } from '../../../types'; vi.mock('../../utils/wsl'); const isWslMock = vi.mocked(isWsl); diff --git a/packages/wxt/src/core/runners/index.ts b/packages/wxt/src/core/runners/index.ts index 6eafa205f..65c4523f6 100644 --- a/packages/wxt/src/core/runners/index.ts +++ b/packages/wxt/src/core/runners/index.ts @@ -1,9 +1,9 @@ -import { ExtensionRunner } from '~/types'; +import { ExtensionRunner } from '../../types'; import { createWslRunner } from './wsl'; import { createWebExtRunner } from './web-ext'; import { createSafariRunner } from './safari'; import { createManualRunner } from './manual'; -import { isWsl } from '~/core/utils/wsl'; +import { isWsl } from '../utils/wsl'; import { wxt } from '../wxt'; export async function createExtensionRunner(): Promise { diff --git a/packages/wxt/src/core/runners/manual.ts b/packages/wxt/src/core/runners/manual.ts index 30ce94c4c..8dfee1a55 100644 --- a/packages/wxt/src/core/runners/manual.ts +++ b/packages/wxt/src/core/runners/manual.ts @@ -1,4 +1,4 @@ -import { ExtensionRunner } from '~/types'; +import { ExtensionRunner } from '../../types'; import { relative } from 'node:path'; import { wxt } from '../wxt'; diff --git a/packages/wxt/src/core/runners/safari.ts b/packages/wxt/src/core/runners/safari.ts index 5b5ae94c5..f3d27c559 100644 --- a/packages/wxt/src/core/runners/safari.ts +++ b/packages/wxt/src/core/runners/safari.ts @@ -1,4 +1,4 @@ -import { ExtensionRunner } from '~/types'; +import { ExtensionRunner } from '../../types'; import { relative } from 'node:path'; import { wxt } from '../wxt'; diff --git a/packages/wxt/src/core/runners/web-ext.ts b/packages/wxt/src/core/runners/web-ext.ts index fec9414a9..614e88de4 100644 --- a/packages/wxt/src/core/runners/web-ext.ts +++ b/packages/wxt/src/core/runners/web-ext.ts @@ -1,5 +1,5 @@ import type { WebExtRunInstance } from 'web-ext-run'; -import { ExtensionRunner } from '~/types'; +import { ExtensionRunner } from '../../types'; import { formatDuration } from '../utils/time'; import defu from 'defu'; import { wxt } from '../wxt'; diff --git a/packages/wxt/src/core/runners/wsl.ts b/packages/wxt/src/core/runners/wsl.ts index 3a7210589..4fc0b126f 100644 --- a/packages/wxt/src/core/runners/wsl.ts +++ b/packages/wxt/src/core/runners/wsl.ts @@ -1,4 +1,4 @@ -import { ExtensionRunner } from '~/types'; +import { ExtensionRunner } from '../../types'; import { relative } from 'node:path'; import { wxt } from '../wxt'; diff --git a/packages/wxt/src/core/utils/__tests__/arrays.test.ts b/packages/wxt/src/core/utils/__tests__/arrays.test.ts index 8d353a11b..29f8ce746 100644 --- a/packages/wxt/src/core/utils/__tests__/arrays.test.ts +++ b/packages/wxt/src/core/utils/__tests__/arrays.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect } from 'vitest'; -import { every, some } from '~/core/utils/arrays'; +import { every, some } from '../arrays'; describe('Array Utils', () => { describe('every', () => { diff --git a/packages/wxt/src/core/utils/__tests__/content-scripts.test.ts b/packages/wxt/src/core/utils/__tests__/content-scripts.test.ts index bf727ad0c..d0b4e6feb 100644 --- a/packages/wxt/src/core/utils/__tests__/content-scripts.test.ts +++ b/packages/wxt/src/core/utils/__tests__/content-scripts.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it, beforeEach } from 'vitest'; -import { hashContentScriptOptions } from '~/core/utils/content-scripts'; -import { setFakeWxt } from '~/core/utils/testing/fake-objects'; +import { hashContentScriptOptions } from '../content-scripts'; +import { setFakeWxt } from '../testing/fake-objects'; describe('Content Script Utils', () => { beforeEach(() => { diff --git a/packages/wxt/src/core/utils/__tests__/content-security-policy.test.ts b/packages/wxt/src/core/utils/__tests__/content-security-policy.test.ts index 1af9dd7a0..ae8cf3f88 100644 --- a/packages/wxt/src/core/utils/__tests__/content-security-policy.test.ts +++ b/packages/wxt/src/core/utils/__tests__/content-security-policy.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { ContentSecurityPolicy } from '~/core/utils/content-security-policy'; +import { ContentSecurityPolicy } from '../content-security-policy'; describe('Content Security Policy Builder', () => { it('should add values to new directives correctly', () => { diff --git a/packages/wxt/src/core/utils/__tests__/entrypoints.test.ts b/packages/wxt/src/core/utils/__tests__/entrypoints.test.ts index 7a134d6ac..963be40d8 100644 --- a/packages/wxt/src/core/utils/__tests__/entrypoints.test.ts +++ b/packages/wxt/src/core/utils/__tests__/entrypoints.test.ts @@ -3,8 +3,8 @@ import { getEntrypointName, getEntrypointOutputFile, resolvePerBrowserOption, -} from '~/core/utils/entrypoints'; -import { Entrypoint } from '~/types'; +} from '../entrypoints'; +import { Entrypoint } from '../../../types'; import { resolve } from 'path'; describe('Entrypoint Utils', () => { diff --git a/packages/wxt/src/core/utils/__tests__/manifest.test.ts b/packages/wxt/src/core/utils/__tests__/manifest.test.ts index 752def2b5..1af508dc5 100644 --- a/packages/wxt/src/core/utils/__tests__/manifest.test.ts +++ b/packages/wxt/src/core/utils/__tests__/manifest.test.ts @@ -19,7 +19,7 @@ import { ContentScriptEntrypoint, Entrypoint, OutputAsset, -} from '~/types'; +} from '../../../types'; import { wxt } from '../../wxt'; const outDir = '/output'; diff --git a/packages/wxt/src/core/utils/__tests__/package.test.ts b/packages/wxt/src/core/utils/__tests__/package.test.ts index dae706135..4711c06ae 100644 --- a/packages/wxt/src/core/utils/__tests__/package.test.ts +++ b/packages/wxt/src/core/utils/__tests__/package.test.ts @@ -2,7 +2,7 @@ import { describe, it, expect } from 'vitest'; import { getPackageJson } from '../package'; import { setFakeWxt } from '../testing/fake-objects'; import { mock } from 'vitest-mock-extended'; -import { Logger } from '~/types'; +import { Logger } from '../../../types'; import { WXT_PACKAGE_DIR } from '../../../../e2e/utils'; describe('Package JSON Utils', () => { diff --git a/packages/wxt/src/core/utils/building/__tests__/detect-dev-changes.test.ts b/packages/wxt/src/core/utils/building/__tests__/detect-dev-changes.test.ts index 81247ac56..a94e6dfcc 100644 --- a/packages/wxt/src/core/utils/building/__tests__/detect-dev-changes.test.ts +++ b/packages/wxt/src/core/utils/building/__tests__/detect-dev-changes.test.ts @@ -1,5 +1,5 @@ import { beforeEach, describe, expect, it } from 'vitest'; -import { DevModeChange, detectDevChanges } from '~/core/utils/building'; +import { DevModeChange, detectDevChanges } from '../../../utils/building'; import { fakeBackgroundEntrypoint, fakeContentScriptEntrypoint, @@ -12,8 +12,8 @@ import { fakeOutputChunk, fakeWxt, setFakeWxt, -} from '~/core/utils/testing/fake-objects'; -import { BuildOutput, BuildStepOutput } from '~/types'; +} from '../../../utils/testing/fake-objects'; +import { BuildOutput, BuildStepOutput } from '../../../../types'; import { setWxtForTesting } from '../../../wxt'; describe('Detect Dev Changes', () => { diff --git a/packages/wxt/src/core/utils/building/__tests__/find-entrypoints.test.ts b/packages/wxt/src/core/utils/building/__tests__/find-entrypoints.test.ts index 79876c93a..6fd492a1f 100644 --- a/packages/wxt/src/core/utils/building/__tests__/find-entrypoints.test.ts +++ b/packages/wxt/src/core/utils/building/__tests__/find-entrypoints.test.ts @@ -8,7 +8,7 @@ import { OptionsEntrypoint, PopupEntrypoint, SidepanelEntrypoint, -} from '~/types'; +} from '../../../../types'; import { resolve } from 'path'; import { findEntrypoints } from '../find-entrypoints'; import fs from 'fs-extra'; @@ -16,9 +16,9 @@ import glob from 'fast-glob'; import { fakeResolvedConfig, setFakeWxt, -} from '~/core/utils/testing/fake-objects'; -import { unnormalizePath } from '~/core/utils/paths'; -import { wxt } from '~/core/wxt'; +} from '../../../utils/testing/fake-objects'; +import { unnormalizePath } from '../../../utils/paths'; +import { wxt } from '../../../wxt'; vi.mock('fast-glob'); const globMock = vi.mocked(glob); diff --git a/packages/wxt/src/core/utils/building/__tests__/group-entrypoints.test.ts b/packages/wxt/src/core/utils/building/__tests__/group-entrypoints.test.ts index 33c7caf4f..413c4d9b3 100644 --- a/packages/wxt/src/core/utils/building/__tests__/group-entrypoints.test.ts +++ b/packages/wxt/src/core/utils/building/__tests__/group-entrypoints.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { Entrypoint } from '~/types'; +import { Entrypoint } from '../../../../types'; import { groupEntrypoints } from '../group-entrypoints'; import { fakeBackgroundEntrypoint, diff --git a/packages/wxt/src/core/utils/building/__tests__/import-entrypoint.test.ts b/packages/wxt/src/core/utils/building/__tests__/import-entrypoint.test.ts index 529e17087..2f7571999 100644 --- a/packages/wxt/src/core/utils/building/__tests__/import-entrypoint.test.ts +++ b/packages/wxt/src/core/utils/building/__tests__/import-entrypoint.test.ts @@ -1,7 +1,7 @@ import { beforeEach, describe, expect, it } from 'vitest'; -import { importEntrypointFile } from '~/core/utils/building'; +import { importEntrypointFile } from '../../../utils/building'; import { resolve } from 'node:path'; -import { setFakeWxt } from '~/core/utils/testing/fake-objects'; +import { setFakeWxt } from '../../../utils/testing/fake-objects'; const entrypointPath = (filename: string) => resolve(__dirname, 'test-entrypoints', filename); diff --git a/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/background.ts b/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/background.ts index 2ea54a2dd..cc7d145ea 100644 --- a/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/background.ts +++ b/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/background.ts @@ -1,4 +1,4 @@ -import { defineBackground } from '~/sandbox'; +import { defineBackground } from '../../../../../sandbox'; export default defineBackground({ main() {}, diff --git a/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/content.ts b/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/content.ts index 332c618b9..21d582a9b 100644 --- a/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/content.ts +++ b/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/content.ts @@ -1,4 +1,4 @@ -import { defineContentScript } from '~/sandbox'; +import { defineContentScript } from '../../../../../sandbox'; export default defineContentScript({ matches: [''], diff --git a/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/imported-option.ts b/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/imported-option.ts index ba8cf15f8..a5b54951c 100644 --- a/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/imported-option.ts +++ b/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/imported-option.ts @@ -1,4 +1,4 @@ -import { defineContentScript } from '~/sandbox'; +import { defineContentScript } from '../../../../../sandbox'; import { faker } from '@faker-js/faker'; export default defineContentScript({ diff --git a/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/react.tsx b/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/react.tsx index 95a4939b5..b9bf6082b 100644 --- a/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/react.tsx +++ b/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/react.tsx @@ -1,3 +1,3 @@ -import { defineUnlistedScript } from '~/sandbox'; +import { defineUnlistedScript } from '../../../../../sandbox'; export default defineUnlistedScript(() => {}); diff --git a/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/unlisted.ts b/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/unlisted.ts index 95a4939b5..b9bf6082b 100644 --- a/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/unlisted.ts +++ b/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/unlisted.ts @@ -1,3 +1,3 @@ -import { defineUnlistedScript } from '~/sandbox'; +import { defineUnlistedScript } from '../../../../../sandbox'; export default defineUnlistedScript(() => {}); diff --git a/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/with-named.ts b/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/with-named.ts index a344ce1bb..5b9d8930c 100644 --- a/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/with-named.ts +++ b/packages/wxt/src/core/utils/building/__tests__/test-entrypoints/with-named.ts @@ -1,4 +1,4 @@ -import { defineBackground } from '~/sandbox'; +import { defineBackground } from '../../../../../sandbox'; export const a = {}; diff --git a/packages/wxt/src/core/utils/building/build-entrypoints.ts b/packages/wxt/src/core/utils/building/build-entrypoints.ts index 4c4f30497..195a9d995 100644 --- a/packages/wxt/src/core/utils/building/build-entrypoints.ts +++ b/packages/wxt/src/core/utils/building/build-entrypoints.ts @@ -3,8 +3,8 @@ import { BuildStepOutput, EntrypointGroup, ResolvedPublicFile, -} from '~/types'; -import { getPublicFiles } from '~/core/utils/fs'; +} from '../../../types'; +import { getPublicFiles } from '../../utils/fs'; import fs from 'fs-extra'; import { dirname, resolve } from 'path'; import type { Ora } from 'ora'; diff --git a/packages/wxt/src/core/utils/building/detect-dev-changes.ts b/packages/wxt/src/core/utils/building/detect-dev-changes.ts index 2f24a01e0..9f7ffbd8a 100644 --- a/packages/wxt/src/core/utils/building/detect-dev-changes.ts +++ b/packages/wxt/src/core/utils/building/detect-dev-changes.ts @@ -3,9 +3,9 @@ import { BuildStepOutput, EntrypointGroup, OutputFile, -} from '~/types'; -import { every, some } from '~/core/utils/arrays'; -import { normalizePath } from '~/core/utils/paths'; +} from '../../../types'; +import { every, some } from '../../utils/arrays'; +import { normalizePath } from '../../utils/paths'; import { wxt } from '../../wxt'; /** diff --git a/packages/wxt/src/core/utils/building/find-entrypoints.ts b/packages/wxt/src/core/utils/building/find-entrypoints.ts index 985343a22..c023d4224 100644 --- a/packages/wxt/src/core/utils/building/find-entrypoints.ts +++ b/packages/wxt/src/core/utils/building/find-entrypoints.ts @@ -14,7 +14,7 @@ import { OptionsEntrypointOptions, SidepanelEntrypoint, SidepanelEntrypointOptions, -} from '~/types'; +} from '../../../types'; import fs from 'fs-extra'; import { minimatch } from 'minimatch'; import { parseHTML } from 'linkedom'; @@ -23,9 +23,9 @@ import glob from 'fast-glob'; import { getEntrypointName, resolvePerBrowserOptions, -} from '~/core/utils/entrypoints'; -import { VIRTUAL_NOOP_BACKGROUND_MODULE_ID } from '~/core/utils/constants'; -import { CSS_EXTENSIONS_PATTERN } from '~/core/utils/paths'; +} from '../../utils/entrypoints'; +import { VIRTUAL_NOOP_BACKGROUND_MODULE_ID } from '../../utils/constants'; +import { CSS_EXTENSIONS_PATTERN } from '../../utils/paths'; import pc from 'picocolors'; import { wxt } from '../../wxt'; diff --git a/packages/wxt/src/core/utils/building/generate-wxt-dir.ts b/packages/wxt/src/core/utils/building/generate-wxt-dir.ts index d085de14c..aab6c8b1b 100644 --- a/packages/wxt/src/core/utils/building/generate-wxt-dir.ts +++ b/packages/wxt/src/core/utils/building/generate-wxt-dir.ts @@ -1,15 +1,15 @@ -import { Entrypoint, WxtDirEntry, WxtDirFileEntry } from '~/types'; +import { Entrypoint, WxtDirEntry, WxtDirFileEntry } from '../../../types'; import fs from 'fs-extra'; import { dirname, relative, resolve } from 'node:path'; import { getEntrypointBundlePath, isHtmlEntrypoint, -} from '~/core/utils/entrypoints'; -import { getEntrypointGlobals, getGlobals } from '~/core/utils/globals'; -import { normalizePath } from '~/core/utils/paths'; +} from '../../utils/entrypoints'; +import { getEntrypointGlobals, getGlobals } from '../../utils/globals'; +import { normalizePath } from '../../utils/paths'; import path from 'node:path'; -import { Message, parseI18nMessages } from '~/core/utils/i18n'; -import { writeFileIfDifferent, getPublicFiles } from '~/core/utils/fs'; +import { Message, parseI18nMessages } from '../../utils/i18n'; +import { writeFileIfDifferent, getPublicFiles } from '../../utils/fs'; import { wxt } from '../../wxt'; /** diff --git a/packages/wxt/src/core/utils/building/group-entrypoints.ts b/packages/wxt/src/core/utils/building/group-entrypoints.ts index 28a2f59e7..eb519fa90 100644 --- a/packages/wxt/src/core/utils/building/group-entrypoints.ts +++ b/packages/wxt/src/core/utils/building/group-entrypoints.ts @@ -1,4 +1,4 @@ -import { Entrypoint, EntrypointGroup } from '~/types'; +import { Entrypoint, EntrypointGroup } from '../../../types'; /** * Entrypoints can be build in groups. HTML pages can all be built together in a single step, while diff --git a/packages/wxt/src/core/utils/building/import-entrypoint.ts b/packages/wxt/src/core/utils/building/import-entrypoint.ts index 887c4f2b5..4bfde90cc 100644 --- a/packages/wxt/src/core/utils/building/import-entrypoint.ts +++ b/packages/wxt/src/core/utils/building/import-entrypoint.ts @@ -2,8 +2,8 @@ import createJITI, { TransformOptions as JitiTransformOptions } from 'jiti'; import { createUnimport } from 'unimport'; import fs from 'fs-extra'; import { relative, resolve } from 'node:path'; -import { removeProjectImportStatements } from '~/core/utils/strings'; -import { normalizePath } from '~/core/utils/paths'; +import { removeProjectImportStatements } from '../../utils/strings'; +import { normalizePath } from '../../utils/paths'; import { TransformOptions, transformSync } from 'esbuild'; import { fileURLToPath } from 'node:url'; import { wxt } from '../../wxt'; @@ -53,14 +53,14 @@ export async function importEntrypointFile(path: string): Promise { alias: { 'webextension-polyfill': resolve( wxt.config.wxtModuleDir, - 'dist/virtual/mock-browser.js', + 'dist/virtual/mock-browser.mjs', ), // TODO: Resolve this virtual module to some file with // `export default {}` instead of this hack of using another file with // a default export. 'virtual:app-config': resolve( wxt.config.wxtModuleDir, - 'dist/virtual/mock-browser.js', + 'dist/virtual/mock-browser.mjs', ), }, // Continue using node to load TS files even if `bun run --bun` is detected. Jiti does not diff --git a/packages/wxt/src/core/utils/building/internal-build.ts b/packages/wxt/src/core/utils/building/internal-build.ts index b1b524046..da551d8af 100644 --- a/packages/wxt/src/core/utils/building/internal-build.ts +++ b/packages/wxt/src/core/utils/building/internal-build.ts @@ -1,12 +1,12 @@ import { findEntrypoints } from './find-entrypoints'; -import { BuildOutput, Entrypoint } from '~/types'; +import { BuildOutput, Entrypoint } from '../../../types'; import pc from 'picocolors'; import fs from 'fs-extra'; import { groupEntrypoints } from './group-entrypoints'; -import { formatDuration } from '~/core/utils/time'; -import { printBuildSummary } from '~/core/utils/log'; +import { formatDuration } from '../../utils/time'; +import { printBuildSummary } from '../../utils/log'; import glob from 'fast-glob'; -import { unnormalizePath } from '~/core/utils/paths'; +import { unnormalizePath } from '../../utils/paths'; import { rebuild } from './rebuild'; import { relative } from 'node:path'; import { diff --git a/packages/wxt/src/core/utils/building/rebuild.ts b/packages/wxt/src/core/utils/building/rebuild.ts index acf490591..90c47f49d 100644 --- a/packages/wxt/src/core/utils/building/rebuild.ts +++ b/packages/wxt/src/core/utils/building/rebuild.ts @@ -1,8 +1,8 @@ -import type { Manifest } from '~/browser'; -import { BuildOutput, Entrypoint, EntrypointGroup } from '~/types'; +import type { Manifest } from '../../../browser'; +import { BuildOutput, Entrypoint, EntrypointGroup } from '../../../types'; import { generateTypesDir } from './generate-wxt-dir'; import { buildEntrypoints } from './build-entrypoints'; -import { generateManifest, writeManifest } from '~/core/utils/manifest'; +import { generateManifest, writeManifest } from '../../utils/manifest'; import { wxt } from '../../wxt'; /** diff --git a/packages/wxt/src/core/utils/building/resolve-config.ts b/packages/wxt/src/core/utils/building/resolve-config.ts index 6637c87cf..6d0e5196e 100644 --- a/packages/wxt/src/core/utils/building/resolve-config.ts +++ b/packages/wxt/src/core/utils/building/resolve-config.ts @@ -14,16 +14,16 @@ import { WxtModuleWithMetadata, ResolvedEslintrc, Eslintrc, -} from '~/types'; +} from '../../../types'; import path from 'node:path'; -import { createFsCache } from '~/core/utils/cache'; +import { createFsCache } from '../../utils/cache'; import consola, { LogLevels } from 'consola'; import defu from 'defu'; import { NullablyRequired } from '../types'; import fs from 'fs-extra'; import { normalizePath } from '../paths'; import glob from 'fast-glob'; -import { builtinModules } from '~/builtin-modules'; +import { builtinModules } from '../../../builtin-modules'; import { getEslintVersion } from '../eslint'; /** @@ -317,7 +317,13 @@ async function getUnimportOptions( { name: 'fakeBrowser', from: 'wxt/testing' }, ], presets: [ - { package: 'wxt/client' }, + { + package: 'wxt/client', + // There seems to be a bug in unimport that thinks "options" is an + // export from wxt/client, but it doesn't actually exist... so it's + // ignored. + ignore: ['options'], + }, { package: 'wxt/browser' }, { package: 'wxt/sandbox' }, { package: 'wxt/storage' }, @@ -374,11 +380,19 @@ async function getUnimportEslintOptions( * Returns the path to `node_modules/wxt`. */ async function resolveWxtModuleDir() { + // TODO: Use this once we're fully running in ESM, see https://github.com/wxt-dev/wxt/issues/277 + // const url = import.meta.resolve('wxt', import.meta.url); + // resolve() returns the "wxt/dist/index.mjs" file, not the package's root + // directory, which we want to return from this function. + // return path.resolve(fileURLToPath(url), '../..'); + const requireResolve = - require?.resolve ?? + globalThis.require?.resolve ?? (await import('node:module')).default.createRequire(import.meta.url) .resolve; - // require.resolve returns the wxt/dist/index file, not the package's root directory, which we want to return + + // resolve() returns the "wxt/dist/index.mjs" file, not the package's root + // directory, which we want to return from this function. return path.resolve(requireResolve('wxt'), '../..'); } diff --git a/packages/wxt/src/core/utils/cache.ts b/packages/wxt/src/core/utils/cache.ts index fa69cfb07..2847fd4ed 100644 --- a/packages/wxt/src/core/utils/cache.ts +++ b/packages/wxt/src/core/utils/cache.ts @@ -1,5 +1,5 @@ import fs, { ensureDir } from 'fs-extra'; -import { FsCache } from '~/types'; +import { FsCache } from '../../types'; import { dirname, resolve } from 'path'; import { writeFileIfDifferent } from './fs'; diff --git a/packages/wxt/src/core/utils/content-scripts.ts b/packages/wxt/src/core/utils/content-scripts.ts index 2d483e45a..158761e92 100644 --- a/packages/wxt/src/core/utils/content-scripts.ts +++ b/packages/wxt/src/core/utils/content-scripts.ts @@ -1,5 +1,5 @@ -import type { Manifest, Scripting } from '~/browser'; -import { ContentScriptEntrypoint, ResolvedConfig } from '~/types'; +import type { Manifest, Scripting } from '../../browser'; +import { ContentScriptEntrypoint, ResolvedConfig } from '../../types'; import { getEntrypointBundlePath } from './entrypoints'; /** diff --git a/packages/wxt/src/core/utils/entrypoints.ts b/packages/wxt/src/core/utils/entrypoints.ts index 2653add3a..43f81ed24 100644 --- a/packages/wxt/src/core/utils/entrypoints.ts +++ b/packages/wxt/src/core/utils/entrypoints.ts @@ -3,7 +3,7 @@ import { PerBrowserOption, ResolvedPerBrowserOptions, TargetBrowser, -} from '~/types'; +} from '../../types'; import path, { relative, resolve } from 'node:path'; import { normalizePath } from './paths'; diff --git a/packages/wxt/src/core/utils/globals.ts b/packages/wxt/src/core/utils/globals.ts index 5c0918418..b5ff5fa81 100644 --- a/packages/wxt/src/core/utils/globals.ts +++ b/packages/wxt/src/core/utils/globals.ts @@ -1,4 +1,4 @@ -import { ResolvedConfig } from '~/types'; +import { ResolvedConfig } from '../../types'; export function getGlobals( config: ResolvedConfig, diff --git a/packages/wxt/src/core/utils/log/printBuildSummary.ts b/packages/wxt/src/core/utils/log/printBuildSummary.ts index 2c8426d09..d386a6f21 100644 --- a/packages/wxt/src/core/utils/log/printBuildSummary.ts +++ b/packages/wxt/src/core/utils/log/printBuildSummary.ts @@ -1,5 +1,5 @@ import { resolve } from 'path'; -import { BuildOutput } from '~/types'; +import { BuildOutput } from '../../../types'; import { printFileList } from './printFileList'; import { wxt } from '../../wxt'; diff --git a/packages/wxt/src/core/utils/log/printHeader.ts b/packages/wxt/src/core/utils/log/printHeader.ts index 1b3457e86..5d7dbd7c6 100644 --- a/packages/wxt/src/core/utils/log/printHeader.ts +++ b/packages/wxt/src/core/utils/log/printHeader.ts @@ -1,5 +1,5 @@ import pc from 'picocolors'; -import { version } from '~/version'; +import { version } from '../../../version'; import { consola } from 'consola'; export function printHeader() { diff --git a/packages/wxt/src/core/utils/manifest.ts b/packages/wxt/src/core/utils/manifest.ts index 5abcb9a8c..1fc68a6c9 100644 --- a/packages/wxt/src/core/utils/manifest.ts +++ b/packages/wxt/src/core/utils/manifest.ts @@ -1,4 +1,4 @@ -import type { Manifest } from '~/browser'; +import type { Manifest } from '../../browser'; import { Entrypoint, BackgroundEntrypoint, @@ -7,7 +7,7 @@ import { OptionsEntrypoint, PopupEntrypoint, SidepanelEntrypoint, -} from '~/types'; +} from '../../types'; import fs from 'fs-extra'; import { resolve } from 'path'; import { getEntrypointBundlePath } from './entrypoints'; diff --git a/packages/wxt/src/core/utils/network.ts b/packages/wxt/src/core/utils/network.ts index b91bffada..57a7918b4 100644 --- a/packages/wxt/src/core/utils/network.ts +++ b/packages/wxt/src/core/utils/network.ts @@ -1,5 +1,5 @@ import dns from 'node:dns'; -import { ResolvedConfig } from '~/types'; +import { ResolvedConfig } from '../../types'; import { withTimeout } from './time'; function isOffline(): Promise { diff --git a/packages/wxt/src/core/utils/testing/fake-objects.ts b/packages/wxt/src/core/utils/testing/fake-objects.ts index 644d09507..3990836f1 100644 --- a/packages/wxt/src/core/utils/testing/fake-objects.ts +++ b/packages/wxt/src/core/utils/testing/fake-objects.ts @@ -4,7 +4,7 @@ import { resolve } from 'path'; import { faker } from '@faker-js/faker'; import merge from 'lodash.merge'; -import { Commands, type Manifest } from '~/browser'; +import { Commands, type Manifest } from '../../../browser'; import { FsCache, ResolvedConfig, @@ -22,10 +22,10 @@ import { UserManifest, Wxt, SidepanelEntrypoint, -} from '~/types'; +} from '../../../types'; import { mock } from 'vitest-mock-extended'; import { vi } from 'vitest'; -import { setWxtForTesting } from '~/core/wxt'; +import { setWxtForTesting } from '../../../core/wxt'; faker.seed(import.meta.test.SEED); diff --git a/packages/wxt/src/core/utils/validation.ts b/packages/wxt/src/core/utils/validation.ts index 8867c7100..d8189e85a 100644 --- a/packages/wxt/src/core/utils/validation.ts +++ b/packages/wxt/src/core/utils/validation.ts @@ -1,4 +1,4 @@ -import { ContentScriptEntrypoint, Entrypoint } from '~/types'; +import { ContentScriptEntrypoint, Entrypoint } from '../../types'; export function validateEntrypoints( entrypoints: Entrypoint[], diff --git a/packages/wxt/src/core/wxt.ts b/packages/wxt/src/core/wxt.ts index 39e52b7de..7862b2879 100644 --- a/packages/wxt/src/core/wxt.ts +++ b/packages/wxt/src/core/wxt.ts @@ -6,12 +6,12 @@ import { WxtDevServer, WxtHooks, WxtModule, -} from '~/types'; +} from '../types'; import { resolveConfig } from './utils/building'; import { createHooks } from 'hookable'; import { createWxtPackageManager } from './package-managers'; import { createViteBuilder } from './builders/vite'; -import { builtinModules } from '~/builtin-modules'; +import { builtinModules } from '../builtin-modules'; /** * Global variable set once `createWxt` is called once. Since this variable is used everywhere, this diff --git a/packages/wxt/src/core/zip.ts b/packages/wxt/src/core/zip.ts index 23049f578..64e1d8863 100644 --- a/packages/wxt/src/core/zip.ts +++ b/packages/wxt/src/core/zip.ts @@ -1,12 +1,12 @@ -import { InlineConfig } from '~/types'; +import { InlineConfig } from '../types'; import path from 'node:path'; import fs from 'fs-extra'; -import { kebabCaseAlphanumeric } from '~/core/utils/strings'; -import { getPackageJson } from '~/core/utils/package'; +import { kebabCaseAlphanumeric } from './utils/strings'; +import { getPackageJson } from './utils/package'; import { minimatch } from 'minimatch'; -import { formatDuration } from '~/core/utils/time'; -import { printFileList } from '~/core/utils/log/printFileList'; -import { internalBuild } from '~/core/utils/building'; +import { formatDuration } from './utils/time'; +import { printFileList } from './utils/log/printFileList'; +import { internalBuild } from './utils/building'; import { registerWxt, wxt } from './wxt'; import JSZip from 'jszip'; import glob from 'fast-glob'; diff --git a/packages/wxt/src/index.ts b/packages/wxt/src/index.ts index 1342646e8..06ba588fd 100644 --- a/packages/wxt/src/index.ts +++ b/packages/wxt/src/index.ts @@ -1,6 +1,6 @@ /** * @module wxt */ -export * from '~/core'; -export * from '~/types'; -export * from '~/version'; +export * from './core'; +export * from './types'; +export * from './version'; diff --git a/packages/wxt/src/sandbox/__tests__/define-background.test.ts b/packages/wxt/src/sandbox/__tests__/define-background.test.ts index 6c671c9f5..116947110 100644 --- a/packages/wxt/src/sandbox/__tests__/define-background.test.ts +++ b/packages/wxt/src/sandbox/__tests__/define-background.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it, vi } from 'vitest'; -import { defineBackground } from '~/sandbox/define-background'; -import { BackgroundDefinition } from '~/types'; +import { defineBackground } from '../define-background'; +import { BackgroundDefinition } from '../../types'; describe('defineBackground', () => { it('should return the object definition when given an object', () => { diff --git a/packages/wxt/src/sandbox/__tests__/define-content-script.test.ts b/packages/wxt/src/sandbox/__tests__/define-content-script.test.ts index a431f0344..8776c09b3 100644 --- a/packages/wxt/src/sandbox/__tests__/define-content-script.test.ts +++ b/packages/wxt/src/sandbox/__tests__/define-content-script.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it, vi } from 'vitest'; -import { defineContentScript } from '~/sandbox/define-content-script'; -import { ContentScriptDefinition } from '~/types'; +import { defineContentScript } from '../define-content-script'; +import { ContentScriptDefinition } from '../../types'; describe('defineContentScript', () => { it('should return the object passed in', () => { diff --git a/packages/wxt/src/sandbox/define-background.ts b/packages/wxt/src/sandbox/define-background.ts index 9e3854d7f..7a99468d4 100644 --- a/packages/wxt/src/sandbox/define-background.ts +++ b/packages/wxt/src/sandbox/define-background.ts @@ -1,4 +1,4 @@ -import type { BackgroundDefinition } from '~/types'; +import type { BackgroundDefinition } from '../types'; export function defineBackground(main: () => void): BackgroundDefinition; export function defineBackground( diff --git a/packages/wxt/src/sandbox/define-content-script.ts b/packages/wxt/src/sandbox/define-content-script.ts index 77836d475..de3ac5c15 100644 --- a/packages/wxt/src/sandbox/define-content-script.ts +++ b/packages/wxt/src/sandbox/define-content-script.ts @@ -1,4 +1,4 @@ -import type { ContentScriptDefinition } from '~/types'; +import type { ContentScriptDefinition } from '../types'; export function defineContentScript( definition: ContentScriptDefinition, diff --git a/packages/wxt/src/sandbox/define-unlisted-script.ts b/packages/wxt/src/sandbox/define-unlisted-script.ts index 2fbf2522a..463c3b3c8 100644 --- a/packages/wxt/src/sandbox/define-unlisted-script.ts +++ b/packages/wxt/src/sandbox/define-unlisted-script.ts @@ -1,4 +1,4 @@ -import type { UnlistedScriptDefinition } from '~/types'; +import type { UnlistedScriptDefinition } from '../types'; export function defineUnlistedScript( main: () => void, diff --git a/packages/wxt/src/sandbox/define-wxt-plugin.ts b/packages/wxt/src/sandbox/define-wxt-plugin.ts index 20745a941..f2f9e8a4a 100644 --- a/packages/wxt/src/sandbox/define-wxt-plugin.ts +++ b/packages/wxt/src/sandbox/define-wxt-plugin.ts @@ -1,4 +1,4 @@ -import type { WxtPlugin } from '~/types'; +import type { WxtPlugin } from '../types'; export function defineWxtPlugin(plugin: WxtPlugin): WxtPlugin { return plugin; diff --git a/packages/wxt/src/storage.ts b/packages/wxt/src/storage.ts index 28f0751cf..1de315820 100644 --- a/packages/wxt/src/storage.ts +++ b/packages/wxt/src/storage.ts @@ -5,7 +5,7 @@ * * @module wxt/storage */ -import { Storage, browser } from '~/browser'; +import { Storage, browser } from './browser'; import { dequal } from 'dequal/lite'; import { logger } from './sandbox/utils/logger'; import { toArray } from './core/utils/arrays'; diff --git a/packages/wxt/src/testing/wxt-vitest-plugin.ts b/packages/wxt/src/testing/wxt-vitest-plugin.ts index 98b0dc609..2f8dd744f 100644 --- a/packages/wxt/src/testing/wxt-vitest-plugin.ts +++ b/packages/wxt/src/testing/wxt-vitest-plugin.ts @@ -6,9 +6,9 @@ import { webextensionPolyfillMock, resolveAppConfig, } from '../core/builders/vite/plugins'; -import { resolveConfig } from '~/core/utils/building'; +import { resolveConfig } from '../core/utils/building'; import { InlineConfig } from '../types'; -import { vitePlugin as unimportPlugin } from '~/builtin-modules/unimport'; +import { vitePlugin as unimportPlugin } from '../builtin-modules/unimport'; import { createUnimport } from 'unimport'; /** diff --git a/packages/wxt/src/types/index.ts b/packages/wxt/src/types/index.ts index 625feeb0d..aa6e09d65 100644 --- a/packages/wxt/src/types/index.ts +++ b/packages/wxt/src/types/index.ts @@ -1,5 +1,5 @@ import type * as vite from 'vite'; -import type { Manifest, Scripting } from '~/browser'; +import type { Manifest, Scripting } from '../browser'; import { UnimportOptions, Import } from 'unimport'; import { LogLevel } from 'consola'; import { ContentScriptContext } from '../client/content-scripts/content-script-context'; diff --git a/packages/wxt/src/version.ts b/packages/wxt/src/version.ts index a7250834f..526225a09 100644 --- a/packages/wxt/src/version.ts +++ b/packages/wxt/src/version.ts @@ -1 +1 @@ -export { version } from '../package.json'; +export const version = '{{version}}'; diff --git a/packages/wxt/src/virtual/content-script-main-world-entrypoint.ts b/packages/wxt/src/virtual/content-script-main-world-entrypoint.ts index 8d34d10e0..15db16d3c 100644 --- a/packages/wxt/src/virtual/content-script-main-world-entrypoint.ts +++ b/packages/wxt/src/virtual/content-script-main-world-entrypoint.ts @@ -5,8 +5,7 @@ import { initPlugins } from 'virtual:wxt-plugins'; const result = (async () => { try { initPlugins(); - const { main } = definition; - return await main(); + return await definition.main(); } catch (err) { logger.error( `The content script "${import.meta.env.ENTRYPOINT}" crashed on startup!`, diff --git a/packages/wxt/tsconfig.json b/packages/wxt/tsconfig.json index 034a13d41..a7f35122f 100644 --- a/packages/wxt/tsconfig.json +++ b/packages/wxt/tsconfig.json @@ -1,10 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "types": ["vitest-plugin-random-seed/types"], - "paths": { - "~/*": ["./src/*"] - } + "types": ["vitest-plugin-random-seed/types"] }, "exclude": ["node_modules", "src/virtual", "e2e/dist", "dist"] } diff --git a/packages/wxt/vitest.config.ts b/packages/wxt/vitest.config.ts index a20fa6323..e22c7f0c5 100644 --- a/packages/wxt/vitest.config.ts +++ b/packages/wxt/vitest.config.ts @@ -21,7 +21,6 @@ export default defineConfig({ plugins: [RandomSeed()], resolve: { alias: { - '~': path.resolve(__dirname, 'src'), 'wxt/testing': path.resolve('src/testing'), 'webextension-polyfill': path.resolve('src/virtual/mock-browser'), }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e9c36c872..3107b07ff 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -191,7 +191,7 @@ importers: dependencies: '@aklinker1/rollup-plugin-visualizer': specifier: 5.12.0 - version: 5.12.0 + version: 5.12.0(rollup@3.29.4) '@types/webextension-polyfill': specifier: ^0.10.7 version: 0.10.7 @@ -296,7 +296,7 @@ importers: version: 2.1.3 unimport: specifier: ^3.9.0 - version: 3.9.0 + version: 3.9.0(rollup@3.29.4) vite: specifier: ^5.3.4 version: 5.3.4(@types/node@20.14.11) @@ -352,15 +352,15 @@ importers: publint: specifier: ^0.2.9 version: 0.2.9 - tsup: - specifier: ^8.2.1 - version: 8.2.1(jiti@1.21.6)(tsx@4.15.7)(typescript@5.5.3)(yaml@2.4.5) tsx: specifier: 4.15.7 version: 4.15.7 typescript: specifier: ^5.5.3 version: 5.5.3 + unbuild: + specifier: ^2.0.0 + version: 2.0.0(typescript@5.5.3) vitest: specifier: ^2.0.3 version: 2.0.3(@types/node@20.14.11)(happy-dom@14.12.3) @@ -431,7 +431,7 @@ packages: typescript: 5.5.3 dev: true - /@aklinker1/rollup-plugin-visualizer@5.12.0: + /@aklinker1/rollup-plugin-visualizer@5.12.0(rollup@3.29.4): resolution: {integrity: sha512-X24LvEGw6UFmy0lpGJDmXsMyBD58XmX1bbwsaMLhNoM+UMQfQ3b2RtC+nz4b/NoRK5r6QJSKJHBNVeUdwqybaQ==} engines: {node: '>=14'} hasBin: true @@ -443,6 +443,7 @@ packages: dependencies: open: 8.4.2 picomatch: 2.3.1 + rollup: 3.29.4 source-map: 0.7.4 yargs: 17.7.2 dev: false @@ -942,15 +943,6 @@ packages: dev: true optional: true - /@esbuild/aix-ppc64@0.20.2: - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/aix-ppc64@0.21.5: resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} @@ -976,15 +968,6 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.20.2: - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.21.5: resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} @@ -1010,15 +993,6 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.20.2: - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.21.5: resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} @@ -1044,15 +1018,6 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.20.2: - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.21.5: resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} @@ -1078,15 +1043,6 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.20.2: - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.21.5: resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} @@ -1112,15 +1068,6 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.20.2: - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.21.5: resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} @@ -1146,15 +1093,6 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.20.2: - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.21.5: resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} @@ -1180,15 +1118,6 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.20.2: - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.21.5: resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} @@ -1214,15 +1143,6 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.20.2: - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.21.5: resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} @@ -1248,15 +1168,6 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.20.2: - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.21.5: resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} @@ -1282,15 +1193,6 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.20.2: - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.21.5: resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} @@ -1316,15 +1218,6 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.20.2: - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.21.5: resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} @@ -1350,15 +1243,6 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.20.2: - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.21.5: resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} @@ -1384,15 +1268,6 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.20.2: - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.21.5: resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} @@ -1418,15 +1293,6 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.20.2: - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.21.5: resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} @@ -1452,15 +1318,6 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.20.2: - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.21.5: resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} @@ -1486,15 +1343,6 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.20.2: - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.21.5: resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} @@ -1520,15 +1368,6 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.20.2: - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.21.5: resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} @@ -1562,15 +1401,6 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.20.2: - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.21.5: resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} @@ -1596,15 +1426,6 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.20.2: - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.21.5: resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} @@ -1630,15 +1451,6 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.20.2: - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.21.5: resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} @@ -1664,15 +1476,6 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.20.2: - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.21.5: resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} @@ -1698,15 +1501,6 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.20.2: - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.21.5: resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} @@ -2039,11 +1833,6 @@ packages: engines: {node: '>=14.16'} dev: false - /@sindresorhus/merge-streams@2.3.0: - resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} - engines: {node: '>=18'} - dev: true - /@sindresorhus/merge-streams@4.0.0: resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} @@ -2060,7 +1849,7 @@ packages: '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.3.4) debug: 4.3.4 svelte: 4.2.18 - vite: 5.3.4(sass@1.77.8) + vite: 5.3.4 transitivePeerDependencies: - supports-color dev: false @@ -2079,7 +1868,7 @@ packages: magic-string: 0.30.10 svelte: 4.2.18 svelte-hmr: 0.16.0(svelte@4.2.18) - vite: 5.3.4(sass@1.77.8) + vite: 5.3.4 vitefu: 0.2.5(vite@5.3.4) transitivePeerDependencies: - supports-color @@ -2258,7 +2047,7 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.3.4(sass@1.77.8) + vite: 5.3.4 transitivePeerDependencies: - supports-color dev: false @@ -2270,7 +2059,7 @@ packages: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.3.4(sass@1.77.8) + vite: 5.3.4 vue: 3.4.33(typescript@5.5.3) /@vitest/coverage-v8@2.0.3(vitest@2.0.3): @@ -2602,6 +2391,7 @@ packages: /any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} @@ -2653,7 +2443,7 @@ packages: engines: {node: '>= 4.0.0'} dev: false - /autoprefixer@10.4.19(postcss@8.4.38): + /autoprefixer@10.4.19(postcss@8.4.39): resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -2665,7 +2455,7 @@ packages: fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.1 - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true @@ -2815,16 +2605,6 @@ packages: run-applescript: 7.0.0 dev: false - /bundle-require@5.0.0(esbuild@0.23.0): - resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - peerDependencies: - esbuild: '>=0.18' - dependencies: - esbuild: 0.23.0 - load-tsconfig: 0.2.5 - dev: true - /bunyan@1.8.15: resolution: {integrity: sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==} engines: {'0': node >=0.10.0} @@ -3133,11 +2913,6 @@ packages: graceful-readlink: 1.0.1 dev: false - /commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} - dev: true - /commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} @@ -3238,13 +3013,13 @@ packages: type-fest: 1.4.0 dev: false - /css-declaration-sorter@7.2.0(postcss@8.4.38): + /css-declaration-sorter@7.2.0(postcss@8.4.39): resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 dev: true /css-select@5.1.0: @@ -3281,63 +3056,63 @@ packages: hasBin: true dev: true - /cssnano-preset-default@7.0.2(postcss@8.4.38): - resolution: {integrity: sha512-z95kGKZx8VWHfERj7LFzuiTxylbvEp07ZEYaFu+t6bFyNOXLd/+3oPyNaY7ISwcrfHFCkt8OfRo4IZxVRJZ7dg==} + /cssnano-preset-default@7.0.4(postcss@8.4.39): + resolution: {integrity: sha512-jQ6zY9GAomQX7/YNLibMEsRZguqMUGuupXcEk2zZ+p3GUxwCAsobqPYE62VrJ9qZ0l9ltrv2rgjwZPBIFIjYtw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.1 - css-declaration-sorter: 7.2.0(postcss@8.4.38) - cssnano-utils: 5.0.0(postcss@8.4.38) - postcss: 8.4.38 - postcss-calc: 10.0.0(postcss@8.4.38) - postcss-colormin: 7.0.0(postcss@8.4.38) - postcss-convert-values: 7.0.0(postcss@8.4.38) - postcss-discard-comments: 7.0.0(postcss@8.4.38) - postcss-discard-duplicates: 7.0.0(postcss@8.4.38) - postcss-discard-empty: 7.0.0(postcss@8.4.38) - postcss-discard-overridden: 7.0.0(postcss@8.4.38) - postcss-merge-longhand: 7.0.1(postcss@8.4.38) - postcss-merge-rules: 7.0.1(postcss@8.4.38) - postcss-minify-font-values: 7.0.0(postcss@8.4.38) - postcss-minify-gradients: 7.0.0(postcss@8.4.38) - postcss-minify-params: 7.0.0(postcss@8.4.38) - postcss-minify-selectors: 7.0.1(postcss@8.4.38) - postcss-normalize-charset: 7.0.0(postcss@8.4.38) - postcss-normalize-display-values: 7.0.0(postcss@8.4.38) - postcss-normalize-positions: 7.0.0(postcss@8.4.38) - postcss-normalize-repeat-style: 7.0.0(postcss@8.4.38) - postcss-normalize-string: 7.0.0(postcss@8.4.38) - postcss-normalize-timing-functions: 7.0.0(postcss@8.4.38) - postcss-normalize-unicode: 7.0.0(postcss@8.4.38) - postcss-normalize-url: 7.0.0(postcss@8.4.38) - postcss-normalize-whitespace: 7.0.0(postcss@8.4.38) - postcss-ordered-values: 7.0.0(postcss@8.4.38) - postcss-reduce-initial: 7.0.0(postcss@8.4.38) - postcss-reduce-transforms: 7.0.0(postcss@8.4.38) - postcss-svgo: 7.0.1(postcss@8.4.38) - postcss-unique-selectors: 7.0.1(postcss@8.4.38) - dev: true - - /cssnano-utils@5.0.0(postcss@8.4.38): + css-declaration-sorter: 7.2.0(postcss@8.4.39) + cssnano-utils: 5.0.0(postcss@8.4.39) + postcss: 8.4.39 + postcss-calc: 10.0.0(postcss@8.4.39) + postcss-colormin: 7.0.1(postcss@8.4.39) + postcss-convert-values: 7.0.2(postcss@8.4.39) + postcss-discard-comments: 7.0.1(postcss@8.4.39) + postcss-discard-duplicates: 7.0.0(postcss@8.4.39) + postcss-discard-empty: 7.0.0(postcss@8.4.39) + postcss-discard-overridden: 7.0.0(postcss@8.4.39) + postcss-merge-longhand: 7.0.2(postcss@8.4.39) + postcss-merge-rules: 7.0.2(postcss@8.4.39) + postcss-minify-font-values: 7.0.0(postcss@8.4.39) + postcss-minify-gradients: 7.0.0(postcss@8.4.39) + postcss-minify-params: 7.0.1(postcss@8.4.39) + postcss-minify-selectors: 7.0.2(postcss@8.4.39) + postcss-normalize-charset: 7.0.0(postcss@8.4.39) + postcss-normalize-display-values: 7.0.0(postcss@8.4.39) + postcss-normalize-positions: 7.0.0(postcss@8.4.39) + postcss-normalize-repeat-style: 7.0.0(postcss@8.4.39) + postcss-normalize-string: 7.0.0(postcss@8.4.39) + postcss-normalize-timing-functions: 7.0.0(postcss@8.4.39) + postcss-normalize-unicode: 7.0.1(postcss@8.4.39) + postcss-normalize-url: 7.0.0(postcss@8.4.39) + postcss-normalize-whitespace: 7.0.0(postcss@8.4.39) + postcss-ordered-values: 7.0.1(postcss@8.4.39) + postcss-reduce-initial: 7.0.1(postcss@8.4.39) + postcss-reduce-transforms: 7.0.0(postcss@8.4.39) + postcss-svgo: 7.0.1(postcss@8.4.39) + postcss-unique-selectors: 7.0.1(postcss@8.4.39) + dev: true + + /cssnano-utils@5.0.0(postcss@8.4.39): resolution: {integrity: sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 dev: true - /cssnano@7.0.2(postcss@8.4.38): - resolution: {integrity: sha512-LXm/Xx6TNLzfHM2lBaIQHfvtdW5QfdbyLzfJAWZrclCAb47yVa0/yJG69+amcw3Lq0YZ+kyU40rbsMPLcMt9aw==} + /cssnano@7.0.4(postcss@8.4.39): + resolution: {integrity: sha512-rQgpZra72iFjiheNreXn77q1haS2GEy69zCMbu4cpXCFPMQF+D4Ik5V7ktMzUF/sA7xCIgcqHwGPnCD+0a1vHg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-preset-default: 7.0.2(postcss@8.4.38) + cssnano-preset-default: 7.0.4(postcss@8.4.39) lilconfig: 3.1.2 - postcss: 8.4.38 + postcss: 8.4.39 dev: true /csso@5.0.5: @@ -3661,37 +3436,6 @@ packages: '@esbuild/win32-x64': 0.19.12 dev: true - /esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.20.2 - '@esbuild/android-arm': 0.20.2 - '@esbuild/android-arm64': 0.20.2 - '@esbuild/android-x64': 0.20.2 - '@esbuild/darwin-arm64': 0.20.2 - '@esbuild/darwin-x64': 0.20.2 - '@esbuild/freebsd-arm64': 0.20.2 - '@esbuild/freebsd-x64': 0.20.2 - '@esbuild/linux-arm': 0.20.2 - '@esbuild/linux-arm64': 0.20.2 - '@esbuild/linux-ia32': 0.20.2 - '@esbuild/linux-loong64': 0.20.2 - '@esbuild/linux-mips64el': 0.20.2 - '@esbuild/linux-ppc64': 0.20.2 - '@esbuild/linux-riscv64': 0.20.2 - '@esbuild/linux-s390x': 0.20.2 - '@esbuild/linux-x64': 0.20.2 - '@esbuild/netbsd-x64': 0.20.2 - '@esbuild/openbsd-x64': 0.20.2 - '@esbuild/sunos-x64': 0.20.2 - '@esbuild/win32-arm64': 0.20.2 - '@esbuild/win32-ia32': 0.20.2 - '@esbuild/win32-x64': 0.20.2 - dev: true - /esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -3885,17 +3629,6 @@ packages: dependencies: pend: 1.2.0 - /fdir@6.1.1(picomatch@4.0.2): - resolution: {integrity: sha512-QfKBVg453Dyn3mr0Q0O+Tkr1r79lOTAKSi9f/Ot4+qVEwxWhav2Z+SudrG9vQjM2aYRMQQZ2/Q1zdA8ACM1pDg==} - peerDependencies: - picomatch: 3.x - peerDependenciesMeta: - picomatch: - optional: true - dependencies: - picomatch: 4.0.2 - dev: true - /figures@6.1.0: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} @@ -4185,18 +3918,6 @@ packages: slash: 4.0.0 dev: true - /globby@14.0.1: - resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} - engines: {node: '>=18'} - dependencies: - '@sindresorhus/merge-streams': 2.3.0 - fast-glob: 3.3.2 - ignore: 5.2.4 - path-type: 5.0.0 - slash: 5.1.0 - unicorn-magic: 0.1.0 - dev: true - /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: @@ -4382,6 +4103,7 @@ packages: /immutable@4.3.4: resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} + dev: true /import-lazy@4.0.0: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} @@ -4772,11 +4494,6 @@ packages: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true - /joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - dev: true - /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -4868,10 +4585,6 @@ packages: engines: {node: '>=14'} dev: true - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true - /lines-and-columns@2.0.3: resolution: {integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -4940,11 +4653,6 @@ packages: strip-bom: 3.0.0 dev: true - /load-tsconfig@0.2.5: - resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /local-pkg@0.5.0: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} @@ -4976,10 +4684,6 @@ packages: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} dev: false - /lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - dev: true - /lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} dev: true @@ -5230,13 +4934,13 @@ packages: hasBin: true dev: false - /mkdist@1.5.1(typescript@5.5.3): - resolution: {integrity: sha512-lCu1spNiA52o7IaKgZnOjg28nNHwYqUDjBfXePXyUtzD7Xhe6rRTkGTalQ/ALfrZC/SrPw2+A/0qkeJ+fPDZtQ==} + /mkdist@1.5.4(typescript@5.5.3): + resolution: {integrity: sha512-GEmKYJG5K1YGFIq3t0K3iihZ8FTgXphLf/4UjbmpXIAtBFn4lEjXk3pXNTSfy7EtcEXhp2Nn1vzw5pIus6RY3g==} hasBin: true peerDependencies: - sass: ^1.75.0 - typescript: '>=5.4.5' - vue-tsc: ^1.8.27 || ^2.0.14 + sass: ^1.77.8 + typescript: '>=5.5.3' + vue-tsc: ^1.8.27 || ^2.0.21 peerDependenciesMeta: sass: optional: true @@ -5245,20 +4949,18 @@ packages: vue-tsc: optional: true dependencies: - autoprefixer: 10.4.19(postcss@8.4.38) + autoprefixer: 10.4.19(postcss@8.4.39) citty: 0.1.6 - cssnano: 7.0.2(postcss@8.4.38) + cssnano: 7.0.4(postcss@8.4.39) defu: 6.1.4 - esbuild: 0.20.2 - fs-extra: 11.2.0 - globby: 14.0.1 + esbuild: 0.23.0 + fast-glob: 3.3.2 jiti: 1.21.6 mlly: 1.7.1 - mri: 1.2.0 pathe: 1.1.2 - pkg-types: 1.1.1 - postcss: 8.4.38 - postcss-nested: 6.0.1(postcss@8.4.38) + pkg-types: 1.1.3 + postcss: 8.4.39 + postcss-nested: 6.0.1(postcss@8.4.39) semver: 7.6.2 typescript: 5.5.3 dev: true @@ -5325,6 +5027,7 @@ packages: any-promise: 1.3.0 object-assign: 4.1.1 thenify-all: 1.6.0 + dev: false /nan@2.17.0: resolution: {integrity: sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==} @@ -5468,6 +5171,7 @@ packages: /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} + dev: false /object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} @@ -5688,11 +5392,6 @@ packages: engines: {node: '>=8'} dev: true - /path-type@5.0.0: - resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} - engines: {node: '>=12'} - dev: true - /pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} @@ -5722,11 +5421,6 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - /picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} - dev: true - /pidtree@0.3.1: resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} engines: {node: '>=0.10'} @@ -5744,11 +5438,6 @@ packages: engines: {node: '>=4'} dev: true - /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - dev: true - /pkg-types@1.0.3: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: @@ -5770,21 +5459,20 @@ packages: confbox: 0.1.7 mlly: 1.7.1 pathe: 1.1.2 - dev: false - /postcss-calc@10.0.0(postcss@8.4.38): + /postcss-calc@10.0.0(postcss@8.4.39): resolution: {integrity: sha512-OmjhudoNTP0QleZCwl1i6NeBwN+5MZbY5ersLZz69mjJiDVv/p57RjRuKDkHeDWr4T+S97wQfsqRTNoDHB2e3g==} engines: {node: ^18.12 || ^20.9 || >=22.0} peerDependencies: postcss: ^8.4.38 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.1.0 postcss-value-parser: 4.2.0 dev: true - /postcss-colormin@7.0.0(postcss@8.4.38): - resolution: {integrity: sha512-5CN6fqtsEtEtwf3mFV3B4UaZnlYljPpzmGeDB4yCK067PnAtfLe9uX2aFZaEwxHE7HopG5rUkW8gyHrNAesHEg==} + /postcss-colormin@7.0.1(postcss@8.4.39): + resolution: {integrity: sha512-uszdT0dULt3FQs47G5UHCduYK+FnkLYlpu1HpWu061eGsKZ7setoG7kA+WC9NQLsOJf69D5TxGHgnAdRgylnFQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 @@ -5792,278 +5480,256 @@ packages: browserslist: 4.23.1 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true - /postcss-convert-values@7.0.0(postcss@8.4.38): - resolution: {integrity: sha512-bMuzDgXBbFbByPgj+/r6va8zNuIDUaIIbvAFgdO1t3zdgJZ77BZvu6dfWyd6gHEJnYzmeVr9ayUsAQL3/qLJ0w==} + /postcss-convert-values@7.0.2(postcss@8.4.39): + resolution: {integrity: sha512-MuZIF6HJ4izko07Q0TgW6pClalI4al6wHRNPkFzqQdwAwG7hPn0lA58VZdxyb2Vl5AYjJ1piO+jgF9EnTjQwQQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.1 - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true - /postcss-discard-comments@7.0.0(postcss@8.4.38): - resolution: {integrity: sha512-xpSdzRqYmy4YIVmjfGyYXKaI1SRnK6CTr+4Zmvyof8ANwvgfZgGdVtmgAvzh59gJm808mJCWQC9tFN0KF5dEXA==} + /postcss-discard-comments@7.0.1(postcss@8.4.39): + resolution: {integrity: sha512-GVrQxUOhmle1W6jX2SvNLt4kmN+JYhV7mzI6BMnkAWR9DtVvg8e67rrV0NfdWhn7x1zxvzdWkMBPdBDCls+uwQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 + postcss-selector-parser: 6.1.0 dev: true - /postcss-discard-duplicates@7.0.0(postcss@8.4.38): + /postcss-discard-duplicates@7.0.0(postcss@8.4.39): resolution: {integrity: sha512-bAnSuBop5LpAIUmmOSsuvtKAAKREB6BBIYStWUTGq8oG5q9fClDMMuY8i4UPI/cEcDx2TN+7PMnXYIId20UVDw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 dev: true - /postcss-discard-empty@7.0.0(postcss@8.4.38): + /postcss-discard-empty@7.0.0(postcss@8.4.39): resolution: {integrity: sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 dev: true - /postcss-discard-overridden@7.0.0(postcss@8.4.38): + /postcss-discard-overridden@7.0.0(postcss@8.4.39): resolution: {integrity: sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 - dev: true - - /postcss-load-config@6.0.1(jiti@1.21.6)(tsx@4.15.7)(yaml@2.4.5): - resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} - engines: {node: '>= 18'} - peerDependencies: - jiti: '>=1.21.0' - postcss: '>=8.0.9' - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - jiti: - optional: true - postcss: - optional: true - tsx: - optional: true - yaml: - optional: true - dependencies: - jiti: 1.21.6 - lilconfig: 3.1.2 - tsx: 4.15.7 - yaml: 2.4.5 + postcss: 8.4.39 dev: true - /postcss-merge-longhand@7.0.1(postcss@8.4.38): - resolution: {integrity: sha512-qZlD26hnqSTMxSSOMS8+QCeRWtqOdMKeQHvHcBhjL3mJxKUs47cvO1Y1x3iTdYIk3ioMcRHTiy229TT0mEMH/A==} + /postcss-merge-longhand@7.0.2(postcss@8.4.39): + resolution: {integrity: sha512-06vrW6ZWi9qeP7KMS9fsa9QW56+tIMW55KYqF7X3Ccn+NI2pIgPV6gFfvXTMQ05H90Y5DvnCDPZ2IuHa30PMUg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - stylehacks: 7.0.1(postcss@8.4.38) + stylehacks: 7.0.2(postcss@8.4.39) dev: true - /postcss-merge-rules@7.0.1(postcss@8.4.38): - resolution: {integrity: sha512-bb8McYQbo2etgs0uVt6AfngajACK3FHSVP3sGLhprrjbtHJWgG03JZ4KKBlJ8/5Fb8/Rr+mMKaybMYeoYrAg0A==} + /postcss-merge-rules@7.0.2(postcss@8.4.39): + resolution: {integrity: sha512-VAR47UNvRsdrTHLe7TV1CeEtF9SJYR5ukIB9U4GZyZOptgtsS20xSxy+k5wMrI3udST6O1XuIn7cjQkg7sDAAw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.1 caniuse-api: 3.0.0 - cssnano-utils: 5.0.0(postcss@8.4.38) - postcss: 8.4.38 + cssnano-utils: 5.0.0(postcss@8.4.39) + postcss: 8.4.39 postcss-selector-parser: 6.1.0 dev: true - /postcss-minify-font-values@7.0.0(postcss@8.4.38): + /postcss-minify-font-values@7.0.0(postcss@8.4.39): resolution: {integrity: sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-gradients@7.0.0(postcss@8.4.38): + /postcss-minify-gradients@7.0.0(postcss@8.4.39): resolution: {integrity: sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: colord: 2.9.3 - cssnano-utils: 5.0.0(postcss@8.4.38) - postcss: 8.4.38 + cssnano-utils: 5.0.0(postcss@8.4.39) + postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-params@7.0.0(postcss@8.4.38): - resolution: {integrity: sha512-XOJAuX8Q/9GT1sGxlUvaFEe2H9n50bniLZblXXsAT/BwSfFYvzSZeFG7uupwc0KbKpTnflnQ7aMwGzX6JUWliQ==} + /postcss-minify-params@7.0.1(postcss@8.4.39): + resolution: {integrity: sha512-e+Xt8xErSRPgSRFxHeBCSxMiO8B8xng7lh8E0A5ep1VfwYhY8FXhu4Q3APMjgx9YDDbSp53IBGENrzygbUvgUQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.1 - cssnano-utils: 5.0.0(postcss@8.4.38) - postcss: 8.4.38 + cssnano-utils: 5.0.0(postcss@8.4.39) + postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-selectors@7.0.1(postcss@8.4.38): - resolution: {integrity: sha512-YfIbGtcgMFquPxV2L/ASs36ZS4DsgfcDX9tQ8cTEIvBTv+0GXFKtcvvpi9tCKto/+DWGWYKMCESFG3Pnan0Feg==} + /postcss-minify-selectors@7.0.2(postcss@8.4.39): + resolution: {integrity: sha512-dCzm04wqW1uqLmDZ41XYNBJfjgps3ZugDpogAmJXoCb5oCiTzIX4oPXXKxDpTvWOnKxQKR4EbV4ZawJBLcdXXA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + cssesc: 3.0.0 + postcss: 8.4.39 postcss-selector-parser: 6.1.0 dev: true - /postcss-nested@6.0.1(postcss@8.4.38): + /postcss-nested@6.0.1(postcss@8.4.39): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.1.0 dev: true - /postcss-normalize-charset@7.0.0(postcss@8.4.38): + /postcss-normalize-charset@7.0.0(postcss@8.4.39): resolution: {integrity: sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 dev: true - /postcss-normalize-display-values@7.0.0(postcss@8.4.38): + /postcss-normalize-display-values@7.0.0(postcss@8.4.39): resolution: {integrity: sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-positions@7.0.0(postcss@8.4.38): + /postcss-normalize-positions@7.0.0(postcss@8.4.39): resolution: {integrity: sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-repeat-style@7.0.0(postcss@8.4.38): + /postcss-normalize-repeat-style@7.0.0(postcss@8.4.39): resolution: {integrity: sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-string@7.0.0(postcss@8.4.38): + /postcss-normalize-string@7.0.0(postcss@8.4.39): resolution: {integrity: sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-timing-functions@7.0.0(postcss@8.4.38): + /postcss-normalize-timing-functions@7.0.0(postcss@8.4.39): resolution: {integrity: sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-unicode@7.0.0(postcss@8.4.38): - resolution: {integrity: sha512-OnKV52/VFFDAim4n0pdI+JAhsolLBdnCKxE6VV5lW5Q/JeVGFN8UM8ur6/A3EAMLsT1ZRm3fDHh/rBoBQpqi2w==} + /postcss-normalize-unicode@7.0.1(postcss@8.4.39): + resolution: {integrity: sha512-PTPGdY9xAkTw+8ZZ71DUePb7M/Vtgkbbq+EoI33EuyQEzbKemEQMhe5QSr0VP5UfZlreANDPxSfcdSprENcbsg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.1 - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-url@7.0.0(postcss@8.4.38): + /postcss-normalize-url@7.0.0(postcss@8.4.39): resolution: {integrity: sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-whitespace@7.0.0(postcss@8.4.38): + /postcss-normalize-whitespace@7.0.0(postcss@8.4.39): resolution: {integrity: sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true - /postcss-ordered-values@7.0.0(postcss@8.4.38): - resolution: {integrity: sha512-KROvC63A8UQW1eYDljQe1dtwc1E/M+mMwDT6z7khV/weHYLWTghaLRLunU7x1xw85lWFwVZOAGakxekYvKV+0w==} + /postcss-ordered-values@7.0.1(postcss@8.4.39): + resolution: {integrity: sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-utils: 5.0.0(postcss@8.4.38) - postcss: 8.4.38 + cssnano-utils: 5.0.0(postcss@8.4.39) + postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true - /postcss-reduce-initial@7.0.0(postcss@8.4.38): - resolution: {integrity: sha512-iqGgmBxY9LrblZ0BKLjmrA1mC/cf9A/wYCCqSmD6tMi+xAyVl0+DfixZIHSVDMbCPRPjNmVF0DFGth/IDGelFQ==} + /postcss-reduce-initial@7.0.1(postcss@8.4.39): + resolution: {integrity: sha512-0JDUSV4bGB5FGM5g8MkS+rvqKukJZ7OTHw/lcKn7xPNqeaqJyQbUO8/dJpvyTpaVwPsd3Uc33+CfNzdVowp2WA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.1 caniuse-api: 3.0.0 - postcss: 8.4.38 + postcss: 8.4.39 dev: true - /postcss-reduce-transforms@7.0.0(postcss@8.4.38): + /postcss-reduce-transforms@7.0.0(postcss@8.4.39): resolution: {integrity: sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true @@ -6075,24 +5741,24 @@ packages: util-deprecate: 1.0.2 dev: true - /postcss-svgo@7.0.1(postcss@8.4.38): + /postcss-svgo@7.0.1(postcss@8.4.39): resolution: {integrity: sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==} engines: {node: ^18.12.0 || ^20.9.0 || >= 18} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 svgo: 3.3.2 dev: true - /postcss-unique-selectors@7.0.1(postcss@8.4.38): + /postcss-unique-selectors@7.0.1(postcss@8.4.39): resolution: {integrity: sha512-MH7QE/eKUftTB5ta40xcHLl7hkZjgDFydpfTK+QWXeHxghVt3VoPqYL5/G+zYZPPIs+8GuqFXSTgxBSoB1RZtQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.1.0 dev: true @@ -6100,15 +5766,6 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.1 - source-map-js: 1.2.0 - dev: true - /postcss@8.4.39: resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} engines: {node: ^10 || ^12 || >=14} @@ -6210,11 +5867,6 @@ packages: end-of-stream: 1.4.4 once: 1.4.0 - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - dev: true - /pupa@3.1.0: resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} engines: {node: '>=12.20'} @@ -6347,11 +5999,6 @@ packages: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} dev: false - /resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - dev: true - /resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} dev: true @@ -6500,6 +6147,7 @@ packages: chokidar: 3.6.0 immutable: 4.3.4 source-map-js: 1.2.0 + dev: true /sax@1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} @@ -6650,11 +6298,6 @@ packages: engines: {node: '>=12'} dev: true - /slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} - dev: true - /slice-ansi@5.0.0: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} @@ -6710,13 +6353,6 @@ packages: engines: {node: '>= 8'} dev: false - /source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - dependencies: - whatwg-url: 7.1.0 - dev: true - /spawn-sync@1.0.15: resolution: {integrity: sha512-9DWBgrgYZzNghseho0JOuh+5fg9u6QWhAWa51QC7+U5rCheZ/j1DrEZnyE0RBBRqZ9uEXGPgSSM0nky6burpVw==} requiresBuild: true @@ -6901,31 +6537,17 @@ packages: dependencies: js-tokens: 9.0.0 - /stylehacks@7.0.1(postcss@8.4.38): - resolution: {integrity: sha512-PnrT4HzajnxbjfChpeBKLSpSykilnGBlD+pIffCoT5KbLur9fcL8uKRQJJap85byR2wCYZl/4Otk5eq76qeZxQ==} + /stylehacks@7.0.2(postcss@8.4.39): + resolution: {integrity: sha512-HdkWZS9b4gbgYTdMg4gJLmm7biAUug1qTqXjS+u8X+/pUd+9Px1E+520GnOW3rST9MNsVOVpsJG+mPHNosxjOQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.1 - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.1.0 dev: true - /sucrase@3.35.0: - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - commander: 4.1.1 - glob: 10.4.5 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.6 - ts-interface-checker: 0.1.13 - dev: true - /superjson@2.2.1: resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==} engines: {node: '>=16'} @@ -7022,11 +6644,13 @@ packages: engines: {node: '>=0.8'} dependencies: thenify: 3.3.1 + dev: false /thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} dependencies: any-promise: 1.3.0 + dev: false /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -7069,17 +6693,6 @@ packages: dependencies: is-number: 7.0.0 - /tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - dependencies: - punycode: 2.3.0 - dev: true - - /tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - dev: true - /ts-essentials@10.0.1(typescript@5.5.3): resolution: {integrity: sha512-HPH+H2bkkO8FkMDau+hFvv7KYozzned9Zr1Urn7rRPXMF4mZmCKOq+u4AI1AAW+2bofIOXTuSdKo9drQuni2dQ==} peerDependencies: @@ -7091,58 +6704,10 @@ packages: typescript: 5.5.3 dev: true - /ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - dev: true - /tslib@2.6.0: resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==} dev: false - /tsup@8.2.1(jiti@1.21.6)(tsx@4.15.7)(typescript@5.5.3)(yaml@2.4.5): - resolution: {integrity: sha512-ArA/s1GvXbovrnNeTtLphz7D2+OiFVCARviT8RmnWxFdH44dFt8v2tqz54MjJyqZC+QgjKjRuTlWKvC3CkAq3Q==} - engines: {node: '>=18'} - hasBin: true - peerDependencies: - '@microsoft/api-extractor': ^7.36.0 - '@swc/core': ^1 - postcss: ^8.4.12 - typescript: '>=4.5.0' - peerDependenciesMeta: - '@microsoft/api-extractor': - optional: true - '@swc/core': - optional: true - postcss: - optional: true - typescript: - optional: true - dependencies: - bundle-require: 5.0.0(esbuild@0.23.0) - cac: 6.7.14 - chokidar: 3.6.0 - consola: 3.2.3 - debug: 4.3.5 - esbuild: 0.23.0 - execa: 5.1.1 - fdir: 6.1.1(picomatch@4.0.2) - joycon: 3.1.1 - picocolors: 1.0.1 - picomatch: 4.0.2 - postcss-load-config: 6.0.1(jiti@1.21.6)(tsx@4.15.7)(yaml@2.4.5) - resolve-from: 5.0.0 - rollup: 4.19.0 - source-map: 0.8.0-beta.0 - sucrase: 3.35.0 - tree-kill: 1.2.2 - typescript: 5.5.3 - transitivePeerDependencies: - - jiti - - supports-color - - tsx - - yaml - dev: true - /tsx@4.15.7: resolution: {integrity: sha512-u3H0iSFDZM3za+VxkZ1kywdCeHCn+8/qHQS1MNoO2sONDgD95HlWtt8aB23OzeTmFP9IU4/8bZUdg58Uu5J4cg==} engines: {node: '>=18.0.0'} @@ -7269,10 +6834,10 @@ packages: hookable: 5.5.3 jiti: 1.21.6 magic-string: 0.30.10 - mkdist: 1.5.1(typescript@5.5.3) + mkdist: 1.5.4(typescript@5.5.3) mlly: 1.7.1 pathe: 1.1.2 - pkg-types: 1.1.1 + pkg-types: 1.1.3 pretty-bytes: 6.1.1 rollup: 3.29.4 rollup-plugin-dts: 6.1.1(rollup@3.29.4)(typescript@5.5.3) @@ -7288,12 +6853,7 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - /unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} - dev: true - - /unimport@3.9.0: + /unimport@3.9.0(rollup@3.29.4): resolution: {integrity: sha512-H2ftTISja1BonUVdOKRos6HC6dqYDR40dQTZY3zIDJ/5/z4ihncuL0LqLvtxYqUDMib41eAtunQUhXIWTCZ8rA==} dependencies: '@rollup/pluginutils': 5.1.0(rollup@3.29.4) @@ -7416,7 +6976,7 @@ packages: debug: 4.3.5 pathe: 1.1.2 tinyrainbow: 1.2.0 - vite: 5.3.4(sass@1.77.8) + vite: 5.3.4 transitivePeerDependencies: - '@types/node' - less @@ -7485,12 +7045,46 @@ packages: merge-anything: 5.1.7 solid-js: 1.8.18 solid-refresh: 0.6.3(solid-js@1.8.18) - vite: 5.3.4(sass@1.77.8) + vite: 5.3.4 vitefu: 0.2.5(vite@5.3.4) transitivePeerDependencies: - supports-color dev: false + /vite@5.3.4: + resolution: {integrity: sha512-Cw+7zL3ZG9/NZBB8C+8QbQZmR54GwqIz+WMI4b3JgdYJvX+ny9AjJXqkGQlDXSXRP9rP0B4tbciRMOVEKulVOA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.21.5 + postcss: 8.4.39 + rollup: 4.19.0 + optionalDependencies: + fsevents: 2.3.3 + /vite@5.3.4(@types/node@20.14.11): resolution: {integrity: sha512-Cw+7zL3ZG9/NZBB8C+8QbQZmR54GwqIz+WMI4b3JgdYJvX+ny9AjJXqkGQlDXSXRP9rP0B4tbciRMOVEKulVOA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -7560,6 +7154,7 @@ packages: sass: 1.77.8 optionalDependencies: fsevents: 2.3.3 + dev: true /vitefu@0.2.5(vite@5.3.4): resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} @@ -7569,7 +7164,7 @@ packages: vite: optional: true dependencies: - vite: 5.3.4(sass@1.77.8) + vite: 5.3.4 dev: false /vitepress@1.3.1(typescript@5.5.3): @@ -7598,7 +7193,7 @@ packages: mark.js: 8.11.1 minisearch: 7.0.2 shiki: 1.10.3 - vite: 5.3.4(sass@1.77.8) + vite: 5.3.4 vue: 3.4.33(typescript@5.5.3) transitivePeerDependencies: - '@algolia/client-search' @@ -7688,7 +7283,7 @@ packages: tinybench: 2.8.0 tinypool: 1.0.0 tinyrainbow: 1.2.0 - vite: 5.3.4(sass@1.77.8) + vite: 5.3.4 vite-node: 2.0.3 why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -7901,10 +7496,6 @@ packages: resolution: {integrity: sha512-97TBmpoWJEE+3nFBQ4VocyCdLKfw54rFaJ6EVQYLBCXqCIpLSZkwGgASpv4oPt9gdKCJ80RJlcmNzNn008Ag6Q==} dev: false - /webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - dev: true - /webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -7924,14 +7515,6 @@ packages: engines: {node: '>=12'} dev: true - /whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - dev: true - /when@3.7.7: resolution: {integrity: sha512-9lFZp/KHoqH6bPKjbWqa+3Dg/K/r2v0X/3/G2x4DBGchVS2QX2VXL3cZV994WQVnTM1/PD71Az25nAzryEUugw==} dev: false