diff --git a/biome.json b/biome.json index 4f9b31f5..4fdfd3fa 100644 --- a/biome.json +++ b/biome.json @@ -1,7 +1,7 @@ { "$schema": "https://biomejs.dev/schemas/1.8.1/schema.json", "files": { - "ignore": ["**/dist", "**/pnpm-lock.yaml", "wasm_exec.ts"], + "ignore": ["**/dist/**", "**/pnpm-lock.yaml", "wasm_exec.ts"], "include": ["packages/**"] }, "formatter": { @@ -31,8 +31,7 @@ "fix": "safe" } } - }, - "ignore": ["wasm_exec.ts"] + } }, "javascript": { "formatter": { @@ -52,6 +51,16 @@ } }, "overrides": [ + { + "include": ["**/stress/**"], + "linter": { + "rules": { + "suspicious": { + "noConsoleLog": "off" + } + } + } + }, { "include": ["package.json"], "json": { diff --git a/package.json b/package.json index b8d5d0ae..92a2e512 100644 --- a/package.json +++ b/package.json @@ -27,8 +27,8 @@ "devDependencies": { "@changesets/cli": "^2.25.0", "sass": "^1.55.0", - "tsx": "^3.10.1", - "typescript": "~4.9.0", + "tsx": "^4.16.2", + "typescript": "~5.5.3", "uvu": "^0.5.6", "@biomejs/biome": "1.8.1" }, diff --git a/packages/compiler/README.md b/packages/compiler/README.md index ccbf499f..dc4ee3c2 100644 --- a/packages/compiler/README.md +++ b/packages/compiler/README.md @@ -20,12 +20,12 @@ The Astro compiler can convert `.astro` syntax to a TypeScript Module whose defa - `.astro` files rely on a server implementation exposed as `astro/runtime/server/index.js` in the Node ecosystem. Other runtimes currently need to bring their own rendering implementation and reference it via `internalURL`. This is a pain point we're looking into fixing. ```js -import { transform } from '@astrojs/compiler'; +import { transform, type TransformResult } from "@astrojs/compiler"; const result = await transform(source, { - filename: '/Users/astro/Code/project/src/pages/index.astro', - sourcemap: 'both', - internalURL: 'astro/runtime/server/index.js', + filename: "/Users/astro/Code/project/src/pages/index.astro", + sourcemap: "both", + internalURL: "astro/runtime/server/index.js", }); ``` @@ -40,8 +40,8 @@ The Astro compiler can emit an AST using the `parse` method. - The `@astrojs/compiler/utils` entrypoint exposes a `walk` function that can be used to traverse the AST. It also exposes the `is` helper which can be used as guards to derive the proper types for each `node`. ```js -import { parse } from '@astrojs/compiler'; -import { walk, is } from '@astrojs/compiler/utils'; +import { parse } from "@astrojs/compiler"; +import { walk, is } from "@astrojs/compiler/utils"; const result = await parse(source, { position: false, // defaults to `true` diff --git a/packages/compiler/src/browser/index.ts b/packages/compiler/src/browser/index.ts index 04110beb..ee3b7d6f 100644 --- a/packages/compiler/src/browser/index.ts +++ b/packages/compiler/src/browser/index.ts @@ -1,4 +1,4 @@ -import type * as types from '../shared/types'; +import type * as types from '../shared/types.js'; import Go from './wasm_exec.js'; export const transform: typeof types.transform = (input, options) => { diff --git a/packages/compiler/src/browser/utils.ts b/packages/compiler/src/browser/utils.ts index 92bcdfb1..02f0b74d 100644 --- a/packages/compiler/src/browser/utils.ts +++ b/packages/compiler/src/browser/utils.ts @@ -13,7 +13,7 @@ import type { RootNode, TagLikeNode, TextNode, -} from '../shared/ast'; +} from '../shared/ast.js'; export type Visitor = (node: Node, parent?: ParentNode, index?: number) => void | Promise; diff --git a/packages/compiler/src/node/index.ts b/packages/compiler/src/node/index.ts index 9071558b..0fcd3b2d 100644 --- a/packages/compiler/src/node/index.ts +++ b/packages/compiler/src/node/index.ts @@ -5,10 +5,10 @@ export type { PreprocessorResult, TransformOptions, TransformResult, -} from '../shared/types'; +} from '../shared/types.js'; import { promises as fs } from 'node:fs'; import { fileURLToPath } from 'node:url'; -import type * as types from '../shared/types'; +import type * as types from '../shared/types.js'; import Go from './wasm_exec.js'; export const transform: typeof types.transform = async (input, options) => { diff --git a/packages/compiler/src/node/sync.ts b/packages/compiler/src/node/sync.ts index 8a905b43..2d4e78de 100644 --- a/packages/compiler/src/node/sync.ts +++ b/packages/compiler/src/node/sync.ts @@ -1,6 +1,6 @@ import { readFileSync } from 'node:fs'; import { fileURLToPath } from 'node:url'; -import type * as types from '../shared/types'; +import type * as types from '../shared/types.js'; import Go from './wasm_exec.js'; type UnwrappedPromise = T extends (...params: any) => Promise diff --git a/packages/compiler/src/node/utils.ts b/packages/compiler/src/node/utils.ts index fd7646cb..bfce52ac 100644 --- a/packages/compiler/src/node/utils.ts +++ b/packages/compiler/src/node/utils.ts @@ -13,7 +13,7 @@ import type { RootNode, TagLikeNode, TextNode, -} from '../shared/ast'; +} from '../shared/ast.js'; export type Visitor = (node: Node, parent?: ParentNode, index?: number) => void | Promise; diff --git a/packages/compiler/src/shared/types.ts b/packages/compiler/src/shared/types.ts index 8748307e..d7e60cad 100644 --- a/packages/compiler/src/shared/types.ts +++ b/packages/compiler/src/shared/types.ts @@ -1,6 +1,6 @@ -import type { RootNode } from './ast'; -import type { DiagnosticCode } from './diagnostics'; -export type * from './ast'; +import type { RootNode } from './ast.js'; +import type { DiagnosticCode } from './diagnostics.js'; +export type * from './ast.js'; export interface PreprocessorResult { code: string; @@ -53,7 +53,7 @@ export interface TransformOptions { */ as?: 'document' | 'fragment'; transitionsAnimationURL?: string; - resolvePath?: (specifier: string) => Promise; + resolvePath?: (specifier: string) => Promise | string; preprocessStyle?: ( content: string, attrs: Record @@ -67,7 +67,10 @@ export interface TransformOptions { renderScript?: boolean; } -export type ConvertToTSXOptions = Pick; +export type ConvertToTSXOptions = Pick< + TransformOptions, + 'filename' | 'normalizedFilename' | 'sourcemap' +>; export type HoistedScript = { type: string } & ( | { diff --git a/packages/compiler/test/bad-styles/unclosed-style.ts b/packages/compiler/test/bad-styles/unclosed-style.ts index ef46411e..4b1276af 100644 --- a/packages/compiler/test/bad-styles/unclosed-style.ts +++ b/packages/compiler/test/bad-styles/unclosed-style.ts @@ -1,17 +1,19 @@ -import { parse } from '@astrojs/compiler'; +import { type ParseResult, parse } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; +import type { ElementNode } from '../../types.js'; test('can compile unfinished style', async () => { let error = 0; - let result: unknown; + let result: ParseResult = {} as ParseResult; + try { result = await parse(' `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE); }); diff --git a/packages/compiler/test/basic/script-fragment.ts b/packages/compiler/test/basic/script-fragment.ts index 64f39393..e398b473 100644 --- a/packages/compiler/test/basic/script-fragment.ts +++ b/packages/compiler/test/basic/script-fragment.ts @@ -1,10 +1,10 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; const FIXTURE = ``; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE); }); diff --git a/packages/compiler/test/basic/top-level-expressions.ts b/packages/compiler/test/basic/top-level-expressions.ts index 88967bb2..be0d4a95 100644 --- a/packages/compiler/test/basic/top-level-expressions.ts +++ b/packages/compiler/test/basic/top-level-expressions.ts @@ -1,4 +1,4 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; @@ -28,7 +28,7 @@ const internal = []; {false && ()} `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE); }); diff --git a/packages/compiler/test/basic/trailing-newline.ts b/packages/compiler/test/basic/trailing-newline.ts index 1b78e943..ce35e9d8 100644 --- a/packages/compiler/test/basic/trailing-newline.ts +++ b/packages/compiler/test/basic/trailing-newline.ts @@ -1,4 +1,4 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; @@ -21,7 +21,7 @@ const FIXTURE = `{ } `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE); }); diff --git a/packages/compiler/test/basic/trailing-space.ts b/packages/compiler/test/basic/trailing-space.ts index 286ec2e5..c5023e93 100644 --- a/packages/compiler/test/basic/trailing-space.ts +++ b/packages/compiler/test/basic/trailing-space.ts @@ -1,4 +1,4 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; @@ -21,7 +21,7 @@ import Layout from '../layouts/content.astro'; `; // NOTE: the lack of trailing space is important to this test! -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE); }); diff --git a/packages/compiler/test/basic/trailing-spaces-ii.ts b/packages/compiler/test/basic/trailing-spaces-ii.ts index ceb48305..77b5a499 100644 --- a/packages/compiler/test/basic/trailing-spaces-ii.ts +++ b/packages/compiler/test/basic/trailing-spaces-ii.ts @@ -1,4 +1,4 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; @@ -17,7 +17,7 @@ console.log("hello") `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE); }); diff --git a/packages/compiler/test/client-directive/special-characters.ts b/packages/compiler/test/client-directive/special-characters.ts index 1a796038..f358240f 100644 --- a/packages/compiler/test/client-directive/special-characters.ts +++ b/packages/compiler/test/client-directive/special-characters.ts @@ -1,4 +1,4 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; @@ -26,7 +26,7 @@ import RemoteComponent from 'https://test.com/components/with-[wacky-brackets}() `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE, { filename: '/users/astro/apps/pacman/src/pages/index.astro' }); }); diff --git a/packages/compiler/test/client-directive/warn.ts b/packages/compiler/test/client-directive/warn.ts index 9cf75e09..c2a1168e 100644 --- a/packages/compiler/test/client-directive/warn.ts +++ b/packages/compiler/test/client-directive/warn.ts @@ -1,4 +1,4 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; @@ -6,7 +6,7 @@ const FIXTURE = ` `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE); }); diff --git a/packages/compiler/test/css-order/astro-styles.ts b/packages/compiler/test/css-order/astro-styles.ts index badc542d..1d5056ca 100644 --- a/packages/compiler/test/css-order/astro-styles.ts +++ b/packages/compiler/test/css-order/astro-styles.ts @@ -1,4 +1,4 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; @@ -8,7 +8,7 @@ const FIXTURE = ` `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE, { filename: 'test.astro', diff --git a/packages/compiler/test/css-order/imported-styles.ts b/packages/compiler/test/css-order/imported-styles.ts index 61a7d184..8ba571b1 100644 --- a/packages/compiler/test/css-order/imported-styles.ts +++ b/packages/compiler/test/css-order/imported-styles.ts @@ -1,4 +1,4 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; @@ -11,7 +11,7 @@ import '../styles/global.css'; `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE, { filename: 'test.astro', diff --git a/packages/compiler/test/errors/client-only-unfound.ts b/packages/compiler/test/errors/client-only-unfound.ts index 4167ea34..637ed4fe 100644 --- a/packages/compiler/test/errors/client-only-unfound.ts +++ b/packages/compiler/test/errors/client-only-unfound.ts @@ -1,4 +1,4 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; @@ -15,7 +15,7 @@ const { MyComponent } = components; `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE, { filename: '/src/components/Cool.astro', diff --git a/packages/compiler/test/errors/fragment-shorthand.ts b/packages/compiler/test/errors/fragment-shorthand.ts index b83eacea..79367fc1 100644 --- a/packages/compiler/test/errors/fragment-shorthand.ts +++ b/packages/compiler/test/errors/fragment-shorthand.ts @@ -1,4 +1,4 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; @@ -11,7 +11,7 @@ const FIXTURE = ` `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE, { filename: '/src/components/fragment.astro', diff --git a/packages/compiler/test/errors/html-comment.ts b/packages/compiler/test/errors/html-comment.ts index 01c35dbe..e53dbf5d 100644 --- a/packages/compiler/test/errors/html-comment.ts +++ b/packages/compiler/test/errors/html-comment.ts @@ -1,4 +1,4 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; @@ -13,7 +13,7 @@ const FIXTURE = ` `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE, { filename: '/src/components/EOF.astro', diff --git a/packages/compiler/test/errors/jsx-comment.ts b/packages/compiler/test/errors/jsx-comment.ts index 45d25551..ccdd53b5 100644 --- a/packages/compiler/test/errors/jsx-comment.ts +++ b/packages/compiler/test/errors/jsx-comment.ts @@ -1,4 +1,4 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; @@ -13,7 +13,7 @@ const FIXTURE = ` `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE, { filename: '/src/components/EOF.astro', diff --git a/packages/compiler/test/head-metadata/with-head.ts b/packages/compiler/test/head-metadata/with-head.ts index 2c4a7de9..898adec5 100644 --- a/packages/compiler/test/head-metadata/with-head.ts +++ b/packages/compiler/test/head-metadata/with-head.ts @@ -1,4 +1,4 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; @@ -13,7 +13,7 @@ const FIXTURE = ` `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE, { filename: 'test.astro', diff --git a/packages/compiler/test/head-metadata/without-head.ts b/packages/compiler/test/head-metadata/without-head.ts index c6f9d1f9..e15aaa5c 100644 --- a/packages/compiler/test/head-metadata/without-head.ts +++ b/packages/compiler/test/head-metadata/without-head.ts @@ -1,4 +1,4 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; @@ -6,7 +6,7 @@ const FIXTURE = ` `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE, { filename: 'test.astro', diff --git a/packages/compiler/test/js-sourcemaps/complex-frontmatter.ts b/packages/compiler/test/js-sourcemaps/complex-frontmatter.ts index 2c25d8f7..243a3bf3 100644 --- a/packages/compiler/test/js-sourcemaps/complex-frontmatter.ts +++ b/packages/compiler/test/js-sourcemaps/complex-frontmatter.ts @@ -1,6 +1,6 @@ import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { testJSSourcemap } from '../utils'; +import { testJSSourcemap } from '../utils.js'; const input = `--- // TODO: Due to this issue: https://github.com/withastro/astro/issues/1438, this route can't be in the same folder diff --git a/packages/compiler/test/js-sourcemaps/deprecated.ts b/packages/compiler/test/js-sourcemaps/deprecated.ts index 403e4322..5e186695 100644 --- a/packages/compiler/test/js-sourcemaps/deprecated.ts +++ b/packages/compiler/test/js-sourcemaps/deprecated.ts @@ -1,6 +1,6 @@ import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { testJSSourcemap } from '../utils'; +import { testJSSourcemap } from '../utils.js'; test('script is:inline', async () => { const input = `--- diff --git a/packages/compiler/test/js-sourcemaps/error.ts b/packages/compiler/test/js-sourcemaps/error.ts index 37d58ce9..674fef73 100644 --- a/packages/compiler/test/js-sourcemaps/error.ts +++ b/packages/compiler/test/js-sourcemaps/error.ts @@ -1,6 +1,6 @@ import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { testJSSourcemap } from '../utils'; +import { testJSSourcemap } from '../utils.js'; test('svelte error', async () => { const input = `--- diff --git a/packages/compiler/test/js-sourcemaps/frontmatter.ts b/packages/compiler/test/js-sourcemaps/frontmatter.ts index 5908b100..5e11dffd 100644 --- a/packages/compiler/test/js-sourcemaps/frontmatter.ts +++ b/packages/compiler/test/js-sourcemaps/frontmatter.ts @@ -1,6 +1,6 @@ import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { testJSSourcemap } from '../utils'; +import { testJSSourcemap } from '../utils.js'; test('frontmatter', async () => { const input = `--- diff --git a/packages/compiler/test/js-sourcemaps/hover.ts b/packages/compiler/test/js-sourcemaps/hover.ts index 4611cf29..fe0737b8 100644 --- a/packages/compiler/test/js-sourcemaps/hover.ts +++ b/packages/compiler/test/js-sourcemaps/hover.ts @@ -1,6 +1,6 @@ import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { testJSSourcemap } from '../utils'; +import { testJSSourcemap } from '../utils.js'; const fixture = `--- const MyVariable = "Astro" diff --git a/packages/compiler/test/js-sourcemaps/module.ts b/packages/compiler/test/js-sourcemaps/module.ts index 823fca9f..7c18e2ed 100644 --- a/packages/compiler/test/js-sourcemaps/module.ts +++ b/packages/compiler/test/js-sourcemaps/module.ts @@ -1,6 +1,6 @@ import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { testJSSourcemap } from '../utils'; +import { testJSSourcemap } from '../utils.js'; test('script is:inline', async () => { const input = `--- diff --git a/packages/compiler/test/js-sourcemaps/script.ts b/packages/compiler/test/js-sourcemaps/script.ts index c083431a..18e22830 100644 --- a/packages/compiler/test/js-sourcemaps/script.ts +++ b/packages/compiler/test/js-sourcemaps/script.ts @@ -1,6 +1,6 @@ import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { testJSSourcemap } from '../utils'; +import { testJSSourcemap } from '../utils.js'; test('script is:inline', async () => { const input = ` `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE); }); diff --git a/packages/compiler/test/stress/index.ts b/packages/compiler/test/stress/index.ts index 783633a9..18600ab3 100644 --- a/packages/compiler/test/stress/index.ts +++ b/packages/compiler/test/stress/index.ts @@ -224,7 +224,7 @@ async function test() { } // Throttle the rendering a paths to prevents creating too many Promises on the microtask queue. -function* throttle(max, tests) { +function* throttle(max: number, tests: any) { const tmp = []; let i = 0; for (const t of tests) { diff --git a/packages/compiler/test/styles/define-vars.ts b/packages/compiler/test/styles/define-vars.ts index 0ef58755..e44cfd6d 100644 --- a/packages/compiler/test/styles/define-vars.ts +++ b/packages/compiler/test/styles/define-vars.ts @@ -1,7 +1,7 @@ import { transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { preprocessStyle } from '../utils'; +import { preprocessStyle } from '../utils.js'; test('does not include define:vars in generated markup', async () => { const input = ` diff --git a/packages/compiler/test/styles/emit-scope.ts b/packages/compiler/test/styles/emit-scope.ts index 717ae6bd..b9b1bd80 100644 --- a/packages/compiler/test/styles/emit-scope.ts +++ b/packages/compiler/test/styles/emit-scope.ts @@ -1,4 +1,4 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; @@ -12,7 +12,7 @@ let value = 'world';
Hello world!
`; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE, { sourcemap: true, diff --git a/packages/compiler/test/styles/empty-style.ts b/packages/compiler/test/styles/empty-style.ts index 9b63f4f2..3c3d30f0 100644 --- a/packages/compiler/test/styles/empty-style.ts +++ b/packages/compiler/test/styles/empty-style.ts @@ -1,7 +1,7 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { preprocessStyle } from '../utils'; +import { preprocessStyle } from '../utils.js'; const FIXTURE = ` --- @@ -15,7 +15,7 @@ let value = 'world';
Ahhh
`; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE, { sourcemap: true, diff --git a/packages/compiler/test/styles/sass.ts b/packages/compiler/test/styles/sass.ts index b6d51005..3c0f6526 100644 --- a/packages/compiler/test/styles/sass.ts +++ b/packages/compiler/test/styles/sass.ts @@ -1,7 +1,7 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { preprocessStyle } from '../utils'; +import { preprocessStyle } from '../utils.js'; const FIXTURE = ` --- @@ -28,7 +28,7 @@ div { `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE, { sourcemap: true, diff --git a/packages/compiler/test/table/in-expression.ts b/packages/compiler/test/table/in-expression.ts index 22bc970a..170704df 100644 --- a/packages/compiler/test/table/in-expression.ts +++ b/packages/compiler/test/table/in-expression.ts @@ -44,7 +44,7 @@ test('does not panic on table in expression', async () => { test('does not generate invalid markup on table in expression', async () => { const input = `
    - {Astro.props.page.data.map(page => + {Astro.props.page.data.map(page =>
  • diff --git a/packages/compiler/test/transition/data-astro.ts b/packages/compiler/test/transition/data-astro.ts index 13ca1c90..f499172e 100644 --- a/packages/compiler/test/transition/data-astro.ts +++ b/packages/compiler/test/transition/data-astro.ts @@ -1,4 +1,4 @@ -import { parse, transform } from '@astrojs/compiler'; +import { transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; diff --git a/packages/compiler/test/transition/meta.ts b/packages/compiler/test/transition/meta.ts index 50c281de..45ac86a8 100644 --- a/packages/compiler/test/transition/meta.ts +++ b/packages/compiler/test/transition/meta.ts @@ -1,4 +1,4 @@ -import { transform } from '@astrojs/compiler'; +import { type TransformResult, transform } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; @@ -6,7 +6,7 @@ const FIXTURE = `
    `; -let result: unknown; +let result: TransformResult; test.before(async () => { result = await transform(FIXTURE, { resolvePath: async (s) => s, diff --git a/packages/compiler/test/tsx-errors/eof.ts b/packages/compiler/test/tsx-errors/eof.ts index e3c43be5..5a56a030 100644 --- a/packages/compiler/test/tsx-errors/eof.ts +++ b/packages/compiler/test/tsx-errors/eof.ts @@ -1,6 +1,7 @@ import { convertToTSX } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; +import type { TSXResult } from '../../types.js'; const FIXTURE = ` @@ -13,7 +14,7 @@ const FIXTURE = ``; -let result: unknown; +let result: TSXResult; test.before(async () => { result = await convertToTSX(FIXTURE, { filename: '/src/components/EOF.astro', diff --git a/packages/compiler/test/tsx-errors/fragment-shorthand.ts b/packages/compiler/test/tsx-errors/fragment-shorthand.ts index f809f98f..d5744d09 100644 --- a/packages/compiler/test/tsx-errors/fragment-shorthand.ts +++ b/packages/compiler/test/tsx-errors/fragment-shorthand.ts @@ -1,6 +1,7 @@ import { convertToTSX } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; +import type { TSXResult } from '../../types.js'; const FIXTURE = ` @@ -11,7 +12,7 @@ const FIXTURE = ``; -let result: unknown; +let result: TSXResult; test.before(async () => { result = await convertToTSX(FIXTURE, { filename: '/src/components/fragment.astro', diff --git a/packages/compiler/test/tsx-errors/unfinished-component.ts b/packages/compiler/test/tsx-errors/unfinished-component.ts index e392269c..a1c5162e 100644 --- a/packages/compiler/test/tsx-errors/unfinished-component.ts +++ b/packages/compiler/test/tsx-errors/unfinished-component.ts @@ -1,10 +1,11 @@ import { convertToTSX } from '@astrojs/compiler'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; +import type { TSXResult } from '../../types.js'; const FIXTURE = '
    { result = await convertToTSX(FIXTURE, { filename: '/src/components/unfinished.astro', diff --git a/packages/compiler/test/tsx-sourcemaps/attributes.ts b/packages/compiler/test/tsx-sourcemaps/attributes.ts index e57f721a..01b62b31 100644 --- a/packages/compiler/test/tsx-sourcemaps/attributes.ts +++ b/packages/compiler/test/tsx-sourcemaps/attributes.ts @@ -1,6 +1,6 @@ import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { testTSXSourcemap } from '../utils'; +import { testTSXSourcemap } from '../utils.js'; test('shorthand attribute', async () => { const input = '
    '; diff --git a/packages/compiler/test/tsx-sourcemaps/deprecated.ts b/packages/compiler/test/tsx-sourcemaps/deprecated.ts index a522f282..a9f24079 100644 --- a/packages/compiler/test/tsx-sourcemaps/deprecated.ts +++ b/packages/compiler/test/tsx-sourcemaps/deprecated.ts @@ -1,6 +1,6 @@ import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { testTSXSourcemap } from '../utils'; +import { testTSXSourcemap } from '../utils.js'; test('script is:inline', async () => { const input = `--- diff --git a/packages/compiler/test/tsx-sourcemaps/error.ts b/packages/compiler/test/tsx-sourcemaps/error.ts index a4afac49..bee5e992 100644 --- a/packages/compiler/test/tsx-sourcemaps/error.ts +++ b/packages/compiler/test/tsx-sourcemaps/error.ts @@ -1,6 +1,6 @@ import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { testTSXSourcemap } from '../utils'; +import { testTSXSourcemap } from '../utils.js'; test('svelte error', async () => { const input = `--- diff --git a/packages/compiler/test/tsx-sourcemaps/frontmatter.ts b/packages/compiler/test/tsx-sourcemaps/frontmatter.ts index a84d7190..4ba44223 100644 --- a/packages/compiler/test/tsx-sourcemaps/frontmatter.ts +++ b/packages/compiler/test/tsx-sourcemaps/frontmatter.ts @@ -1,6 +1,6 @@ import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { testTSXSourcemap } from '../utils'; +import { testTSXSourcemap } from '../utils.js'; test('frontmatter', async () => { const input = `--- diff --git a/packages/compiler/test/tsx-sourcemaps/hover.ts b/packages/compiler/test/tsx-sourcemaps/hover.ts index 44fc2399..dbba5b31 100644 --- a/packages/compiler/test/tsx-sourcemaps/hover.ts +++ b/packages/compiler/test/tsx-sourcemaps/hover.ts @@ -1,6 +1,6 @@ import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { testTSXSourcemap } from '../utils'; +import { testTSXSourcemap } from '../utils.js'; const fixture = `--- const MyVariable = "Astro" diff --git a/packages/compiler/test/tsx-sourcemaps/module.ts b/packages/compiler/test/tsx-sourcemaps/module.ts index e3fb6a51..83202510 100644 --- a/packages/compiler/test/tsx-sourcemaps/module.ts +++ b/packages/compiler/test/tsx-sourcemaps/module.ts @@ -1,6 +1,6 @@ import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { testTSXSourcemap } from '../utils'; +import { testTSXSourcemap } from '../utils.js'; test('script is:inline', async () => { const input = `--- diff --git a/packages/compiler/test/tsx-sourcemaps/multibyte.ts b/packages/compiler/test/tsx-sourcemaps/multibyte.ts index 366a7051..22ef0a97 100644 --- a/packages/compiler/test/tsx-sourcemaps/multibyte.ts +++ b/packages/compiler/test/tsx-sourcemaps/multibyte.ts @@ -1,6 +1,6 @@ import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { testTSXSourcemap } from '../utils'; +import { testTSXSourcemap } from '../utils.js'; test('multibyte content', async () => { const input = '

    '; diff --git a/packages/compiler/test/tsx-sourcemaps/script.ts b/packages/compiler/test/tsx-sourcemaps/script.ts index bc74b26e..ce843259 100644 --- a/packages/compiler/test/tsx-sourcemaps/script.ts +++ b/packages/compiler/test/tsx-sourcemaps/script.ts @@ -1,6 +1,6 @@ import { test } from 'uvu'; import * as assert from 'uvu/assert'; -import { testTSXSourcemap } from '../utils'; +import { testTSXSourcemap } from '../utils.js'; test('script is:inline', async () => { const input = ``; diff --git a/packages/compiler/test/utils.ts b/packages/compiler/test/utils.ts index 68f9bf76..f0061e4f 100644 --- a/packages/compiler/test/utils.ts +++ b/packages/compiler/test/utils.ts @@ -2,7 +2,7 @@ import { convertToTSX, transform } from '@astrojs/compiler'; import { TraceMap, generatedPositionFor, originalPositionFor } from '@jridgewell/trace-mapping'; import sass from 'sass'; -export async function preprocessStyle(value, attrs): Promise { +export async function preprocessStyle(value: any, attrs: any): Promise { if (!attrs.lang) { return null; } @@ -48,7 +48,7 @@ export async function testTSXSourcemap(input: string, snippet: string) { if (!snippetLoc) throw new Error(`Unable to find "${snippet}"`); const { code, map } = await convertToTSX(input, { sourcemap: 'both', filename: 'index.astro' }); - const tracer = new TraceMap(map); + const tracer = new TraceMap(map as any); const generated = generatedPositionFor(tracer, { source: 'index.astro', diff --git a/packages/compiler/tsconfig.json b/packages/compiler/tsconfig.json index 64eebc2a..bdf1bb78 100644 --- a/packages/compiler/tsconfig.json +++ b/packages/compiler/tsconfig.json @@ -1,9 +1,10 @@ { "compilerOptions": { "target": "ES2020", - "module": "ES2020", - "moduleResolution": "node", + "module": "Node16", + "moduleResolution": "Node16", "strict": true, + "noEmit": true, "declaration": true, "noImplicitOverride": true, "noUnusedLocals": true, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 970a93d5..dc252e4f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,11 +14,11 @@ importers: specifier: ^1.55.0 version: 1.55.0 tsx: - specifier: ^3.10.1 - version: 3.10.1 + specifier: ^4.16.2 + version: 4.16.2 typescript: - specifier: ~4.9.0 - version: 4.9.5 + specifier: ~5.5.3 + version: 5.5.3 uvu: specifier: ^0.5.6 version: 0.5.6 @@ -348,26 +348,14 @@ packages: prettier: 2.8.7 dev: true - /@esbuild-kit/cjs-loader@2.4.0: - resolution: {integrity: sha512-DBBCiHPgL2B/elUpvCDhNHXnlZQ9sfO2uyt1OJyAXKT41beQEFY4OxZ6gwS+ZesRCbZ6JV8M7GEyOPkjv8kdIw==} - dependencies: - '@esbuild-kit/core-utils': 3.0.0 - get-tsconfig: 4.2.0 - dev: true - - /@esbuild-kit/core-utils@3.0.0: - resolution: {integrity: sha512-TXmwH9EFS3DC2sI2YJWJBgHGhlteK0Xyu1VabwetMULfm3oYhbrsWV5yaSr2NTWZIgDGVLHbRf0inxbjXqAcmQ==} - dependencies: - esbuild: 0.15.10 - source-map-support: 0.5.21 - dev: true - - /@esbuild-kit/esm-loader@2.5.0: - resolution: {integrity: sha512-ySs0qOsiwj+hsgZM9/MniGdvfa9/WzqfFuIia8/5gSUPeIQIX2/tG91QakxPFOR35VFiwTB7wCiHtiS6dc6SkA==} - dependencies: - '@esbuild-kit/core-utils': 3.0.0 - get-tsconfig: 4.2.0 + /@esbuild/aix-ppc64@0.21.5: + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true dev: true + optional: true /@esbuild/android-arm64@0.17.17: resolution: {integrity: sha512-jaJ5IlmaDLFPNttv0ofcwy/cfeY4bh/n705Tgh+eLObbGtQBK3EPAu+CzL95JVE4nFAliyrnEu0d32Q5foavqg==} @@ -378,10 +366,10 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.15.10: - resolution: {integrity: sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==} + /@esbuild/android-arm64@0.21.5: + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [android] requiresBuild: true dev: true @@ -396,6 +384,15 @@ packages: dev: true optional: true + /@esbuild/android-arm@0.21.5: + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-x64@0.17.17: resolution: {integrity: sha512-446zpfJ3nioMC7ASvJB1pszHVskkw4u/9Eu8s5yvvsSDTzYh4p4ZIRj0DznSl3FBF0Z/mZfrKXTtt0QCoFmoHA==} engines: {node: '>=12'} @@ -405,6 +402,15 @@ packages: dev: true optional: true + /@esbuild/android-x64@0.21.5: + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-arm64@0.17.17: resolution: {integrity: sha512-m/gwyiBwH3jqfUabtq3GH31otL/0sE0l34XKpSIqR7NjQ/XHQ3lpmQHLHbG8AHTGCw8Ao059GvV08MS0bhFIJQ==} engines: {node: '>=12'} @@ -414,6 +420,15 @@ packages: dev: true optional: true + /@esbuild/darwin-arm64@0.21.5: + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-x64@0.17.17: resolution: {integrity: sha512-4utIrsX9IykrqYaXR8ob9Ha2hAY2qLc6ohJ8c0CN1DR8yWeMrTgYFjgdeQ9LIoTOfLetXjuCu5TRPHT9yKYJVg==} engines: {node: '>=12'} @@ -423,6 +438,15 @@ packages: dev: true optional: true + /@esbuild/darwin-x64@0.21.5: + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-arm64@0.17.17: resolution: {integrity: sha512-4PxjQII/9ppOrpEwzQ1b0pXCsFLqy77i0GaHodrmzH9zq2/NEhHMAMJkJ635Ns4fyJPFOlHMz4AsklIyRqFZWA==} engines: {node: '>=12'} @@ -432,6 +456,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-arm64@0.21.5: + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-x64@0.17.17: resolution: {integrity: sha512-lQRS+4sW5S3P1sv0z2Ym807qMDfkmdhUYX30GRBURtLTrJOPDpoU0kI6pVz1hz3U0+YQ0tXGS9YWveQjUewAJw==} engines: {node: '>=12'} @@ -441,6 +474,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-x64@0.21.5: + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm64@0.17.17: resolution: {integrity: sha512-2+pwLx0whKY1/Vqt8lyzStyda1v0qjJ5INWIe+d8+1onqQxHLLi3yr5bAa4gvbzhZqBztifYEu8hh1La5+7sUw==} engines: {node: '>=12'} @@ -450,6 +492,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm64@0.21.5: + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm@0.17.17: resolution: {integrity: sha512-biDs7bjGdOdcmIk6xU426VgdRUpGg39Yz6sT9Xp23aq+IEHDb/u5cbmu/pAANpDB4rZpY/2USPhCA+w9t3roQg==} engines: {node: '>=12'} @@ -459,6 +510,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm@0.21.5: + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ia32@0.17.17: resolution: {integrity: sha512-IBTTv8X60dYo6P2t23sSUYym8fGfMAiuv7PzJ+0LcdAndZRzvke+wTVxJeCq4WgjppkOpndL04gMZIFvwoU34Q==} engines: {node: '>=12'} @@ -468,10 +528,10 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.15.10: - resolution: {integrity: sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==} + /@esbuild/linux-ia32@0.21.5: + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} - cpu: [loong64] + cpu: [ia32] os: [linux] requiresBuild: true dev: true @@ -486,6 +546,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64@0.21.5: + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-mips64el@0.17.17: resolution: {integrity: sha512-2kYCGh8589ZYnY031FgMLy0kmE4VoGdvfJkxLdxP4HJvWNXpyLhjOvxVsYjYZ6awqY4bgLR9tpdYyStgZZhi2A==} engines: {node: '>=12'} @@ -495,6 +564,15 @@ packages: dev: true optional: true + /@esbuild/linux-mips64el@0.21.5: + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ppc64@0.17.17: resolution: {integrity: sha512-KIdG5jdAEeAKogfyMTcszRxy3OPbZhq0PPsW4iKKcdlbk3YE4miKznxV2YOSmiK/hfOZ+lqHri3v8eecT2ATwQ==} engines: {node: '>=12'} @@ -504,6 +582,15 @@ packages: dev: true optional: true + /@esbuild/linux-ppc64@0.21.5: + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-riscv64@0.17.17: resolution: {integrity: sha512-Cj6uWLBR5LWhcD/2Lkfg2NrkVsNb2sFM5aVEfumKB2vYetkA/9Uyc1jVoxLZ0a38sUhFk4JOVKH0aVdPbjZQeA==} engines: {node: '>=12'} @@ -513,6 +600,15 @@ packages: dev: true optional: true + /@esbuild/linux-riscv64@0.21.5: + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-s390x@0.17.17: resolution: {integrity: sha512-lK+SffWIr0XsFf7E0srBjhpkdFVJf3HEgXCwzkm69kNbRar8MhezFpkIwpk0qo2IOQL4JE4mJPJI8AbRPLbuOQ==} engines: {node: '>=12'} @@ -522,6 +618,15 @@ packages: dev: true optional: true + /@esbuild/linux-s390x@0.21.5: + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-x64@0.17.17: resolution: {integrity: sha512-XcSGTQcWFQS2jx3lZtQi7cQmDYLrpLRyz1Ns1DzZCtn898cWfm5Icx/DEWNcTU+T+tyPV89RQtDnI7qL2PObPg==} engines: {node: '>=12'} @@ -531,6 +636,15 @@ packages: dev: true optional: true + /@esbuild/linux-x64@0.21.5: + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/netbsd-x64@0.17.17: resolution: {integrity: sha512-RNLCDmLP5kCWAJR+ItLM3cHxzXRTe4N00TQyQiimq+lyqVqZWGPAvcyfUBM0isE79eEZhIuGN09rAz8EL5KdLA==} engines: {node: '>=12'} @@ -540,6 +654,15 @@ packages: dev: true optional: true + /@esbuild/netbsd-x64@0.21.5: + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/openbsd-x64@0.17.17: resolution: {integrity: sha512-PAXswI5+cQq3Pann7FNdcpSUrhrql3wKjj3gVkmuz6OHhqqYxKvi6GgRBoaHjaG22HV/ZZEgF9TlS+9ftHVigA==} engines: {node: '>=12'} @@ -549,6 +672,15 @@ packages: dev: true optional: true + /@esbuild/openbsd-x64@0.21.5: + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/sunos-x64@0.17.17: resolution: {integrity: sha512-V63egsWKnx/4V0FMYkr9NXWrKTB5qFftKGKuZKFIrAkO/7EWLFnbBZNM1CvJ6Sis+XBdPws2YQSHF1Gqf1oj/Q==} engines: {node: '>=12'} @@ -558,6 +690,15 @@ packages: dev: true optional: true + /@esbuild/sunos-x64@0.21.5: + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-arm64@0.17.17: resolution: {integrity: sha512-YtUXLdVnd6YBSYlZODjWzH+KzbaubV0YVd6UxSfoFfa5PtNJNaW+1i+Hcmjpg2nEe0YXUCNF5bkKy1NnBv1y7Q==} engines: {node: '>=12'} @@ -567,6 +708,15 @@ packages: dev: true optional: true + /@esbuild/win32-arm64@0.21.5: + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-ia32@0.17.17: resolution: {integrity: sha512-yczSLRbDdReCO74Yfc5tKG0izzm+lPMYyO1fFTcn0QNwnKmc3K+HdxZWLGKg4pZVte7XVgcFku7TIZNbWEJdeQ==} engines: {node: '>=12'} @@ -576,6 +726,15 @@ packages: dev: true optional: true + /@esbuild/win32-ia32@0.21.5: + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-x64@0.17.17: resolution: {integrity: sha512-FNZw7H3aqhF9OyRQbDDnzUApDXfC1N6fgBhkqEO2jvYCJ+DxMTfZVqg3AX0R1khg1wHTBRD5SdcibSJ+XF6bFg==} engines: {node: '>=12'} @@ -585,6 +744,15 @@ packages: dev: true optional: true + /@esbuild/win32-x64@0.21.5: + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@jridgewell/gen-mapping@0.3.3: resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} engines: {node: '>=6.0.0'} @@ -792,10 +960,6 @@ packages: wcwidth: 1.0.1 dev: true - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true - /bundle-require@4.0.1(esbuild@0.17.17): resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1086,216 +1250,6 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild-android-64@0.15.10: - resolution: {integrity: sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-android-arm64@0.15.10: - resolution: {integrity: sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-64@0.15.10: - resolution: {integrity: sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-arm64@0.15.10: - resolution: {integrity: sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-64@0.15.10: - resolution: {integrity: sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-arm64@0.15.10: - resolution: {integrity: sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-32@0.15.10: - resolution: {integrity: sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-64@0.15.10: - resolution: {integrity: sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm64@0.15.10: - resolution: {integrity: sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm@0.15.10: - resolution: {integrity: sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-mips64le@0.15.10: - resolution: {integrity: sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-ppc64le@0.15.10: - resolution: {integrity: sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-riscv64@0.15.10: - resolution: {integrity: sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-s390x@0.15.10: - resolution: {integrity: sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-netbsd-64@0.15.10: - resolution: {integrity: sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-openbsd-64@0.15.10: - resolution: {integrity: sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-sunos-64@0.15.10: - resolution: {integrity: sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-32@0.15.10: - resolution: {integrity: sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-64@0.15.10: - resolution: {integrity: sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-arm64@0.15.10: - resolution: {integrity: sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild@0.15.10: - resolution: {integrity: sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.15.10 - '@esbuild/linux-loong64': 0.15.10 - esbuild-android-64: 0.15.10 - esbuild-android-arm64: 0.15.10 - esbuild-darwin-64: 0.15.10 - esbuild-darwin-arm64: 0.15.10 - esbuild-freebsd-64: 0.15.10 - esbuild-freebsd-arm64: 0.15.10 - esbuild-linux-32: 0.15.10 - esbuild-linux-64: 0.15.10 - esbuild-linux-arm: 0.15.10 - esbuild-linux-arm64: 0.15.10 - esbuild-linux-mips64le: 0.15.10 - esbuild-linux-ppc64le: 0.15.10 - esbuild-linux-riscv64: 0.15.10 - esbuild-linux-s390x: 0.15.10 - esbuild-netbsd-64: 0.15.10 - esbuild-openbsd-64: 0.15.10 - esbuild-sunos-64: 0.15.10 - esbuild-windows-32: 0.15.10 - esbuild-windows-64: 0.15.10 - esbuild-windows-arm64: 0.15.10 - dev: true - /esbuild@0.17.17: resolution: {integrity: sha512-/jUywtAymR8jR4qsa2RujlAF7Krpt5VWi72Q2yuLD4e/hvtNcFQ0I1j8m/bxq238pf3/0KO5yuXNpuLx8BE1KA==} engines: {node: '>=12'} @@ -1326,6 +1280,37 @@ packages: '@esbuild/win32-x64': 0.17.17 dev: true + /esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + dev: true + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -1447,6 +1432,14 @@ packages: dev: true optional: true + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + /function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: true @@ -1491,8 +1484,10 @@ packages: get-intrinsic: 1.1.3 dev: true - /get-tsconfig@4.2.0: - resolution: {integrity: sha512-X8u8fREiYOE6S8hLbq99PeykTDoLVnxvF4DjWKJmz9xy2nNRdUcV8ZN9tniJFeKyTU3qnC9lL8n4Chd6LmVKHg==} + /get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + dependencies: + resolve-pkg-maps: 1.0.0 dev: true /glob-parent@5.1.2: @@ -2245,6 +2240,10 @@ packages: engines: {node: '>=8'} dev: true + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: true + /resolve@1.22.1: resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true @@ -2370,18 +2369,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true - - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true - /source-map@0.8.0-beta.0: resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} engines: {node: '>= 8'} @@ -2598,15 +2585,15 @@ packages: - ts-node dev: true - /tsx@3.10.1: - resolution: {integrity: sha512-Gh6xoW4xrdnLs6hYZydVHIQtrgmbZ/DbnJoLsYoI8MxhKAIyu8R7RyF0D5qg9UKi74Nmr4iSlijdz7Q43IGLyQ==} + /tsx@4.16.2: + resolution: {integrity: sha512-C1uWweJDgdtX2x600HjaFaucXTilT7tgUZHbOE4+ypskZ1OP8CRCSDkCxG6Vya9EwaFIVagWwpaVAn5wzypaqQ==} + engines: {node: '>=18.0.0'} hasBin: true dependencies: - '@esbuild-kit/cjs-loader': 2.4.0 - '@esbuild-kit/core-utils': 3.0.0 - '@esbuild-kit/esm-loader': 2.5.0 + esbuild: 0.21.5 + get-tsconfig: 4.7.5 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true /tty-table@4.1.6: @@ -2638,18 +2625,18 @@ packages: engines: {node: '>=8'} dev: true - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - /typescript@5.0.2: resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} engines: {node: '>=12.20'} hasBin: true dev: true + /typescript@5.5.3: + resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies:
    {page.frontmatter.title}