diff --git a/.changeset/beige-impalas-fry.md b/.changeset/beige-impalas-fry.md new file mode 100644 index 00000000..302c386b --- /dev/null +++ b/.changeset/beige-impalas-fry.md @@ -0,0 +1,5 @@ +--- +"@ec-ts/twoslash": patch +--- + +Fix minor bug that caused a key to not exist due to missing undefined value diff --git a/.changeset/slimy-pots-notice.md b/.changeset/slimy-pots-notice.md new file mode 100644 index 00000000..ae701083 --- /dev/null +++ b/.changeset/slimy-pots-notice.md @@ -0,0 +1,5 @@ +--- +"expressive-code-twoslash": minor +--- + +Migrate to `@ec-ts/twoslash` to provide ESM-only functionality to comply with Astro/Vite \ No newline at end of file diff --git a/.github/renovate.json b/.github/renovate.json index 3ba9244c..826c7ecc 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -7,6 +7,21 @@ "matchManagers": ["npm"], "matchFileNames": ["packages/expressive-code-twoslash/**"] }, + { + "groupName": "Twoslash Core Dependencies", + "matchManagers": ["npm"], + "matchFileNames": ["packages/@ec-ts/twoslash/**"] + }, + { + "groupName": "Twoslash Vue Dependencies", + "matchManagers": ["npm"], + "matchFileNames": ["packages/@ec-ts/twoslash-vue/**"] + }, + { + "groupName": "VFS Dependencies", + "matchManagers": ["npm"], + "matchFileNames": ["packages/@ec-ts/vfs/**"] + }, { "groupName": "CSS JS Gen Dependencies", "matchManagers": ["npm"], diff --git a/docs/package.json b/docs/package.json index 39079e2a..bf151867 100644 --- a/docs/package.json +++ b/docs/package.json @@ -25,7 +25,7 @@ "sharp": "^0.34.5", "starlight-package-managers": "^0.12.0", "unist-util-visit": "^5.1.0", - "vue": "^3.5.28" + "vue": "catalog:" }, "devDependencies": { "@astrojs/check": "catalog:", diff --git a/package.json b/package.json index af374ba9..584a7c84 100644 --- a/package.json +++ b/package.json @@ -50,11 +50,11 @@ "allure-js-commons": "^3.4.5", "allure-vitest": "^3.4.5", "tsdown": "^0.20.3", - "typescript": "^5.9.3", + "typescript": "catalog:", "pkg-pr-new": "^0.0.63", "publint": "^0.3.17", "vite": "^7.3.1", "vitest": "^4.0.18", - "vue": "^3.5.28" + "vue": "catalog:" } } diff --git a/packages/@ec-ts/twoslash-vue/package.json b/packages/@ec-ts/twoslash-vue/package.json index 2b726c11..ae0ebe89 100644 --- a/packages/@ec-ts/twoslash-vue/package.json +++ b/packages/@ec-ts/twoslash-vue/package.json @@ -42,7 +42,7 @@ "test": "vitest" }, "peerDependencies": { - "typescript": "^5.5.0" + "typescript": "catalog:min" }, "dependencies": { "@vue/language-core": "catalog:twoslash", diff --git a/packages/@ec-ts/twoslash-vue/test/results/example.json b/packages/@ec-ts/twoslash-vue/test/results/example.json index 08057174..7c1efc31 100644 --- a/packages/@ec-ts/twoslash-vue/test/results/example.json +++ b/packages/@ec-ts/twoslash-vue/test/results/example.json @@ -180,11 +180,11 @@ { "type": "hover", "text": "namespace console\nvar console: Console", - "docs": "The `console` module provides a simple debugging console that is similar to the\nJavaScript console mechanism provided by web browsers.\n\nThe module exports two specific components:\n\n* A `Console` class with methods such as `console.log()`, `console.error()` and `console.warn()` that can be used to write to any Node.js stream.\n* A global `console` instance configured to write to [`process.stdout`](https://nodejs.org/docs/latest-v20.x/api/process.html#processstdout) and\n[`process.stderr`](https://nodejs.org/docs/latest-v20.x/api/process.html#processstderr). The global `console` can be used without importing the `node:console` module.\n\n_**Warning**_: The global console object's methods are neither consistently\nsynchronous like the browser APIs they resemble, nor are they consistently\nasynchronous like all other Node.js streams. See the [`note on process I/O`](https://nodejs.org/docs/latest-v20.x/api/process.html#a-note-on-process-io) for\nmore information.\n\nExample using the global `console`:\n\n```js\nconsole.log('hello world');\n// Prints: hello world, to stdout\nconsole.log('hello %s', 'world');\n// Prints: hello world, to stdout\nconsole.error(new Error('Whoops, something bad happened'));\n// Prints error message and stack trace to stderr:\n// Error: Whoops, something bad happened\n// at [eval]:5:15\n// at Script.runInThisContext (node:vm:132:18)\n// at Object.runInThisContext (node:vm:309:38)\n// at node:internal/process/execution:77:19\n// at [eval]-wrapper:6:22\n// at evalScript (node:internal/process/execution:76:60)\n// at node:internal/main/eval_string:23:3\n\nconst name = 'Will Robinson';\nconsole.warn(`Danger ${name}! Danger!`);\n// Prints: Danger Will Robinson! Danger!, to stderr\n```\n\nExample using the `Console` class:\n\n```js\nconst out = getStreamSomehow();\nconst err = getStreamSomehow();\nconst myConsole = new console.Console(out, err);\n\nmyConsole.log('hello world');\n// Prints: hello world, to out\nmyConsole.log('hello %s', 'world');\n// Prints: hello world, to out\nmyConsole.error(new Error('Whoops, something bad happened'));\n// Prints: [Error: Whoops, something bad happened], to err\n\nconst name = 'Will Robinson';\nmyConsole.warn(`Danger ${name}! Danger!`);\n// Prints: Danger Will Robinson! Danger!, to err\n```", + "docs": "The `console` module provides a simple debugging console that is similar to the\nJavaScript console mechanism provided by web browsers.\n\nThe module exports two specific components:\n\n* A `Console` class with methods such as `console.log()`, `console.error()` and `console.warn()` that can be used to write to any Node.js stream.\n* A global `console` instance configured to write to [`process.stdout`](https://nodejs.org/docs/latest-v22.x/api/process.html#processstdout) and\n[`process.stderr`](https://nodejs.org/docs/latest-v22.x/api/process.html#processstderr). The global `console` can be used without importing the `node:console` module.\n\n_**Warning**_: The global console object's methods are neither consistently\nsynchronous like the browser APIs they resemble, nor are they consistently\nasynchronous like all other Node.js streams. See the [`note on process I/O`](https://nodejs.org/docs/latest-v22.x/api/process.html#a-note-on-process-io) for\nmore information.\n\nExample using the global `console`:\n\n```js\nconsole.log('hello world');\n// Prints: hello world, to stdout\nconsole.log('hello %s', 'world');\n// Prints: hello world, to stdout\nconsole.error(new Error('Whoops, something bad happened'));\n// Prints error message and stack trace to stderr:\n// Error: Whoops, something bad happened\n// at [eval]:5:15\n// at Script.runInThisContext (node:vm:132:18)\n// at Object.runInThisContext (node:vm:309:38)\n// at node:internal/process/execution:77:19\n// at [eval]-wrapper:6:22\n// at evalScript (node:internal/process/execution:76:60)\n// at node:internal/main/eval_string:23:3\n\nconst name = 'Will Robinson';\nconsole.warn(`Danger ${name}! Danger!`);\n// Prints: Danger Will Robinson! Danger!, to stderr\n```\n\nExample using the `Console` class:\n\n```js\nconst out = getStreamSomehow();\nconst err = getStreamSomehow();\nconst myConsole = new console.Console(out, err);\n\nmyConsole.log('hello world');\n// Prints: hello world, to out\nmyConsole.log('hello %s', 'world');\n// Prints: hello world, to out\nmyConsole.error(new Error('Whoops, something bad happened'));\n// Prints: [Error: Whoops, something bad happened], to err\n\nconst name = 'Will Robinson';\nmyConsole.warn(`Danger ${name}! Danger!`);\n// Prints: Danger Will Robinson! Danger!, to err\n```", "tags": [ [ "see", - "[source](https://github.com/nodejs/node/blob/v20.11.1/lib/console.js)" + "[source](https://github.com/nodejs/node/blob/v22.x/lib/console.js)" ] ], "start": 282, @@ -196,7 +196,7 @@ { "type": "hover", "text": "(method) Console.log(message?: any, ...optionalParams: any[]): void (+1 overload)", - "docs": "Prints to `stdout` with newline. Multiple arguments can be passed, with the\nfirst used as the primary message and all additional used as substitution\nvalues similar to [`printf(3)`](http://man7.org/linux/man-pages/man3/printf.3.html)\n(the arguments are all passed to [`util.format()`](https://nodejs.org/docs/latest-v20.x/api/util.html#utilformatformat-args)).\n\n```js\nconst count = 5;\nconsole.log('count: %d', count);\n// Prints: count: 5, to stdout\nconsole.log('count:', count);\n// Prints: count: 5, to stdout\n```\n\nSee [`util.format()`](https://nodejs.org/docs/latest-v20.x/api/util.html#utilformatformat-args) for more information.", + "docs": "Prints to `stdout` with newline. Multiple arguments can be passed, with the\nfirst used as the primary message and all additional used as substitution\nvalues similar to [`printf(3)`](http://man7.org/linux/man-pages/man3/printf.3.html)\n(the arguments are all passed to [`util.format()`](https://nodejs.org/docs/latest-v22.x/api/util.html#utilformatformat-args)).\n\n```js\nconst count = 5;\nconsole.log('count: %d', count);\n// Prints: count: 5, to stdout\nconsole.log('count:', count);\n// Prints: count: 5, to stdout\n```\n\nSee [`util.format()`](https://nodejs.org/docs/latest-v22.x/api/util.html#utilformatformat-args) for more information.", "tags": [ [ "since", diff --git a/packages/@ec-ts/twoslash/package.json b/packages/@ec-ts/twoslash/package.json index 62317849..0c97302f 100755 --- a/packages/@ec-ts/twoslash/package.json +++ b/packages/@ec-ts/twoslash/package.json @@ -50,7 +50,7 @@ "test": "vitest" }, "peerDependencies": { - "typescript": "^5.5.0" + "typescript": "catalog:min" }, "dependencies": { "@ec-ts/vfs": "workspace:^", diff --git a/packages/@ec-ts/twoslash/src/defaults.ts b/packages/@ec-ts/twoslash/src/defaults.ts index 80645c55..7ccb5e69 100644 --- a/packages/@ec-ts/twoslash/src/defaults.ts +++ b/packages/@ec-ts/twoslash/src/defaults.ts @@ -18,5 +18,6 @@ export const defaultHandbookOptions: HandbookOptions = { noErrorValidation: false, noStaticSemanticInfo: false, showEmit: false, + showEmittedFile: undefined, keepNotations: false, }; diff --git a/packages/@ec-ts/twoslash/src/types/handbook-options.ts b/packages/@ec-ts/twoslash/src/types/handbook-options.ts index 3bc3c2af..1fd5c4a9 100644 --- a/packages/@ec-ts/twoslash/src/types/handbook-options.ts +++ b/packages/@ec-ts/twoslash/src/types/handbook-options.ts @@ -29,7 +29,7 @@ export interface HandbookOptions { * Must be used with showEmit, lets you choose the file to present instead of the source - defaults to index.js which * means when you just use `showEmit` above it shows the transpiled JS. */ - showEmittedFile?: string; + showEmittedFile?: string | undefined; /** * Do not remove twoslash notations from output code, the nodes will have the position of the input code. diff --git a/packages/@ec-ts/twoslash/src/utils.ts b/packages/@ec-ts/twoslash/src/utils.ts index 9e47664b..868575b0 100644 --- a/packages/@ec-ts/twoslash/src/utils.ts +++ b/packages/@ec-ts/twoslash/src/utils.ts @@ -276,6 +276,7 @@ export function findFlagNotations( parseFlag(name, value, index, index + match[0].length + 1, customTags, tsOptionDeclarations), ); }); + return flagNotations; } diff --git a/packages/@ec-ts/vfs/package.json b/packages/@ec-ts/vfs/package.json index 7e1a1d53..3be17671 100755 --- a/packages/@ec-ts/vfs/package.json +++ b/packages/@ec-ts/vfs/package.json @@ -29,9 +29,9 @@ }, "devDependencies": { "@types/jest": "^30.0.0", - "typescript": "*" + "typescript": "catalog:" }, "peerDependencies": { - "typescript": "*" + "typescript": "catalog:min" } } diff --git a/packages/expressive-code-twoslash/package.json b/packages/expressive-code-twoslash/package.json index c973e809..be68cb83 100644 --- a/packages/expressive-code-twoslash/package.json +++ b/packages/expressive-code-twoslash/package.json @@ -42,14 +42,14 @@ }, "type": "module", "dependencies": { + "@ec-ts/twoslash": "workspace:^", + "@ec-ts/twoslash-vue": "workspace:^", "@typescript-eslint/parser": "^8.56.0", "css-js-gen": "workspace:^", "mdast-util-from-markdown": "catalog:mdast", "mdast-util-gfm": "catalog:mdast", "mdast-util-to-hast": "catalog:mdast", - "twoslash": "catalog:twoslash", - "twoslash-eslint": "catalog:twoslash", - "twoslash-vue": "catalog:twoslash" + "twoslash-eslint": "catalog:twoslash" }, "peerDependencies": { "@expressive-code/core": "catalog:min", diff --git a/packages/expressive-code-twoslash/src/annotations/completion.ts b/packages/expressive-code-twoslash/src/annotations/completion.ts index df3cc3c5..69909b31 100644 --- a/packages/expressive-code-twoslash/src/annotations/completion.ts +++ b/packages/expressive-code-twoslash/src/annotations/completion.ts @@ -1,10 +1,10 @@ +import type { NodeCompletion } from "@ec-ts/twoslash"; import { type AnnotationRenderOptions, ExpressiveCodeAnnotation, type ExpressiveCodeLine, } from "@expressive-code/core"; import { h } from "@expressive-code/core/hast"; -import type { NodeCompletion } from "twoslash"; import { getTextWidthInPixels } from "../helpers/index.ts"; import type { CompletionItem } from "../types.ts"; diff --git a/packages/expressive-code-twoslash/src/annotations/customTags.ts b/packages/expressive-code-twoslash/src/annotations/customTags.ts index b6d3f584..53d18b4d 100644 --- a/packages/expressive-code-twoslash/src/annotations/customTags.ts +++ b/packages/expressive-code-twoslash/src/annotations/customTags.ts @@ -1,10 +1,10 @@ +import type { NodeTag } from "@ec-ts/twoslash"; import { type AnnotationRenderOptions, ExpressiveCodeAnnotation, type ExpressiveCodeLine, } from "@expressive-code/core"; import { type Element, h } from "@expressive-code/core/hast"; -import type { NodeTag } from "twoslash"; import { getCustomTagClass, getCustomTagString } from "../helpers/index.ts"; import { customTagsIcons } from "../icons/customTagsIcons.ts"; import type { CustomTagsIcon, TwoslashTag } from "../types.ts"; diff --git a/packages/expressive-code-twoslash/src/annotations/errors.ts b/packages/expressive-code-twoslash/src/annotations/errors.ts index f2348827..49606040 100644 --- a/packages/expressive-code-twoslash/src/annotations/errors.ts +++ b/packages/expressive-code-twoslash/src/annotations/errors.ts @@ -1,10 +1,10 @@ +import type { NodeError } from "@ec-ts/twoslash"; import { type AnnotationRenderOptions, ExpressiveCodeAnnotation, type ExpressiveCodeLine, } from "@expressive-code/core"; import { type Element, h } from "@expressive-code/core/hast"; -import type { NodeError } from "twoslash"; import { getErrorLevelClass, getErrorLevelString } from "../helpers/index.ts"; export class TwoslashErrorUnderlineAnnotation extends ExpressiveCodeAnnotation { diff --git a/packages/expressive-code-twoslash/src/annotations/highlight.ts b/packages/expressive-code-twoslash/src/annotations/highlight.ts index 4b632c66..1c56ebe0 100644 --- a/packages/expressive-code-twoslash/src/annotations/highlight.ts +++ b/packages/expressive-code-twoslash/src/annotations/highlight.ts @@ -1,6 +1,6 @@ +import type { NodeHighlight } from "@ec-ts/twoslash"; import { type AnnotationRenderOptions, ExpressiveCodeAnnotation } from "@expressive-code/core"; import { type Element, h, type Root } from "@expressive-code/core/hast"; -import type { NodeHighlight } from "twoslash"; /** * Represents a highlight annotation for Twoslash. diff --git a/packages/expressive-code-twoslash/src/annotations/hover.ts b/packages/expressive-code-twoslash/src/annotations/hover.ts index 3e5b9861..3fd89537 100644 --- a/packages/expressive-code-twoslash/src/annotations/hover.ts +++ b/packages/expressive-code-twoslash/src/annotations/hover.ts @@ -1,6 +1,6 @@ +import type { NodeHover } from "@ec-ts/twoslash"; import { type AnnotationRenderOptions, ExpressiveCodeAnnotation } from "@expressive-code/core"; import { type Element, h, type Root } from "@expressive-code/core/hast"; -import type { NodeHover } from "twoslash"; import type { RenderJSDocs } from "../types.ts"; /** diff --git a/packages/expressive-code-twoslash/src/annotations/static.ts b/packages/expressive-code-twoslash/src/annotations/static.ts index a14101b8..9d41e3ac 100644 --- a/packages/expressive-code-twoslash/src/annotations/static.ts +++ b/packages/expressive-code-twoslash/src/annotations/static.ts @@ -1,10 +1,10 @@ +import type { NodeQuery } from "@ec-ts/twoslash"; import { type AnnotationRenderOptions, ExpressiveCodeAnnotation, type ExpressiveCodeLine, } from "@expressive-code/core"; import { type Element, h } from "@expressive-code/core/hast"; -import type { NodeQuery } from "twoslash"; import { getTextWidthInPixels } from "../helpers/index.ts"; import type { RenderJSDocs } from "../types.ts"; diff --git a/packages/expressive-code-twoslash/src/helpers/comparisons.ts b/packages/expressive-code-twoslash/src/helpers/comparisons.ts index 33384087..93f25fdf 100644 --- a/packages/expressive-code-twoslash/src/helpers/comparisons.ts +++ b/packages/expressive-code-twoslash/src/helpers/comparisons.ts @@ -1,4 +1,4 @@ -import type { NodeCompletion, TwoslashNode } from "twoslash"; +import type { NodeCompletion, TwoslashNode } from "@ec-ts/twoslash"; /** * Checks if the given node is of type `NodeCompletion`. diff --git a/packages/expressive-code-twoslash/src/helpers/processors.ts b/packages/expressive-code-twoslash/src/helpers/processors.ts index d15d77c4..572554c3 100644 --- a/packages/expressive-code-twoslash/src/helpers/processors.ts +++ b/packages/expressive-code-twoslash/src/helpers/processors.ts @@ -1,5 +1,5 @@ +import type { NodeCompletion, TwoslashReturn } from "@ec-ts/twoslash"; import type { ExpressiveCodeBlock } from "expressive-code"; -import type { NodeCompletion, TwoslashReturn } from "twoslash"; import { completionIcons } from "../icons/completionIcons.ts"; import type { CompletionIcon, CompletionItem } from "../types.ts"; diff --git a/packages/expressive-code-twoslash/src/helpers/rendering.ts b/packages/expressive-code-twoslash/src/helpers/rendering.ts index 3f38cbdc..1584b925 100644 --- a/packages/expressive-code-twoslash/src/helpers/rendering.ts +++ b/packages/expressive-code-twoslash/src/helpers/rendering.ts @@ -1,9 +1,9 @@ +import type { NodeHover, NodeQuery } from "@ec-ts/twoslash"; import { type Element, h } from "@expressive-code/core/hast"; import type { ExpressiveCode } from "expressive-code"; import { fromMarkdown } from "mdast-util-from-markdown"; import { gfmFromMarkdown } from "mdast-util-gfm"; import { toHast } from "mdast-util-to-hast"; -import type { NodeHover, NodeQuery } from "twoslash"; import type { RenderJSDocs } from "../types.ts"; import { jsdocTags, diff --git a/packages/expressive-code-twoslash/src/helpers/string-gen.ts b/packages/expressive-code-twoslash/src/helpers/string-gen.ts index e0c7729e..9b3278bd 100644 --- a/packages/expressive-code-twoslash/src/helpers/string-gen.ts +++ b/packages/expressive-code-twoslash/src/helpers/string-gen.ts @@ -1,4 +1,4 @@ -import type { NodeError } from "twoslash"; +import type { NodeError } from "@ec-ts/twoslash"; import type { TwoslashTag } from "../types.ts"; /** diff --git a/packages/expressive-code-twoslash/src/helpers/utils.ts b/packages/expressive-code-twoslash/src/helpers/utils.ts index 3430a0b7..c6ad9c8e 100644 --- a/packages/expressive-code-twoslash/src/helpers/utils.ts +++ b/packages/expressive-code-twoslash/src/helpers/utils.ts @@ -1,18 +1,18 @@ import fs from "node:fs"; import path from "node:path"; -import type { ExpressiveCodeBlock } from "@expressive-code/core"; import type { TwoslashExecuteOptions, TwoslashGenericFunction, TwoslashInstance, TwoslashOptions, -} from "twoslash"; -import { createTwoslasher } from "twoslash"; +} from "@ec-ts/twoslash"; +import { createTwoslasher } from "@ec-ts/twoslash"; +import { createTwoslasher as createTwoslasherVue } from "@ec-ts/twoslash-vue"; +import type { ExpressiveCodeBlock } from "@expressive-code/core"; import { type CreateTwoslashESLintOptions, createTwoslasher as createTwoslasherEslint, } from "twoslash-eslint"; -import { createTwoslasher as createTwoslasherVue } from "twoslash-vue"; import ts from "typescript"; import type { PluginTwoslashOptions } from "../types.ts"; import { reTrigger, twoslashDefaultTags } from "./regex.ts"; diff --git a/packages/expressive-code-twoslash/src/index.ts b/packages/expressive-code-twoslash/src/index.ts index ea27a2b7..19b39bf8 100644 --- a/packages/expressive-code-twoslash/src/index.ts +++ b/packages/expressive-code-twoslash/src/index.ts @@ -1,6 +1,4 @@ import path from "node:path"; -import { definePlugin, type ExpressiveCodePlugin } from "@expressive-code/core"; -import { ExpressiveCode } from "expressive-code"; import type { NodeCompletion, NodeError, @@ -8,7 +6,9 @@ import type { NodeHover, NodeQuery, NodeTag, -} from "twoslash"; +} from "@ec-ts/twoslash"; +import { definePlugin, type ExpressiveCodePlugin } from "@expressive-code/core"; +import { ExpressiveCode } from "expressive-code"; import type { CompilerOptions, ModuleResolutionKind } from "typescript"; import ts from "typescript"; import { diff --git a/packages/expressive-code-twoslash/src/types.ts b/packages/expressive-code-twoslash/src/types.ts index 256b801c..572e5272 100644 --- a/packages/expressive-code-twoslash/src/types.ts +++ b/packages/expressive-code-twoslash/src/types.ts @@ -1,7 +1,7 @@ +import type { TwoslashOptions } from "@ec-ts/twoslash"; +import type { CreateTwoslashVueOptions } from "@ec-ts/twoslash-vue"; import type { Element } from "@expressive-code/core/hast"; -import type { TwoslashOptions } from "twoslash"; import type { CreateTwoslashESLintOptions } from "twoslash-eslint"; -import type { CreateTwoslashVueOptions } from "twoslash-vue"; import type { completionIcons } from "./icons/completionIcons.ts"; import type { customTagsIcons } from "./icons/customTagsIcons.ts"; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9a6bbb75..900f33f6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,14 +13,17 @@ catalogs: specifier: ^0.37.6 version: 0.37.6 '@types/node': - specifier: ^20.17.1 - version: 20.17.1 + specifier: ^22.12.0 + version: 22.19.11 astro: specifier: ^5.17.3 version: 5.17.3 typescript: specifier: ^5.9.3 version: 5.9.3 + vue: + specifier: ^3.5.28 + version: 3.5.28 ec: astro-expressive-code: specifier: ^0.41.6 @@ -46,24 +49,18 @@ catalogs: specifier: ^0.41.6 version: 0.41.6 typescript: - specifier: ^5.7.3 + specifier: ^5.5.0 version: 5.9.3 twoslash: '@vue/language-core': specifier: ^3.2.0 version: 3.2.3 - twoslash: - specifier: ^0.3.6 - version: 0.3.6 twoslash-eslint: specifier: ^0.3.6 version: 0.3.6 twoslash-protocol: specifier: ^0.3.6 version: 0.3.6 - twoslash-vue: - specifier: ^0.3.6 - version: 0.3.6 patchedDependencies: '@changesets/assemble-release-plan': @@ -85,13 +82,13 @@ importers: version: 0.5.2 '@changesets/cli': specifier: ^2.29.8 - version: 2.29.8(@types/node@20.17.1) + version: 2.29.8(@types/node@22.19.11) '@changesets/config': specifier: ^3.1.2 version: 3.1.2 '@types/node': specifier: 'catalog:' - version: 20.17.1 + version: 22.19.11 '@vitest/runner': specifier: ^4.0.18 version: 4.0.18 @@ -117,32 +114,32 @@ importers: specifier: ^0.20.3 version: 0.20.3(publint@0.3.17)(synckit@0.11.12)(typescript@5.9.3) typescript: - specifier: ^5.9.3 + specifier: 'catalog:' version: 5.9.3 vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@20.17.1)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2) + version: 7.3.1(@types/node@22.19.11)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2) vitest: specifier: ^4.0.18 - version: 4.0.18(@types/node@20.17.1)(@vitest/ui@4.0.18)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2) + version: 4.0.18(@types/node@22.19.11)(@vitest/ui@4.0.18)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2) vue: - specifier: ^3.5.28 + specifier: 'catalog:' version: 3.5.28(typescript@5.9.3) docs: dependencies: '@astrojs/starlight': specifier: 'catalog:' - version: 0.37.6(astro@5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2)) + version: 0.37.6(astro@5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2)) '@types/mdast': specifier: ^4.0.4 version: 4.0.4 astro: specifier: 'catalog:' - version: 5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2) + version: 5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2) astro-expressive-code: specifier: catalog:ec - version: 0.41.6(astro@5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2)) + version: 0.41.6(astro@5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2)) eslint: specifier: ^9.39.2 version: 9.39.2(jiti@1.21.6) @@ -166,12 +163,12 @@ importers: version: 0.34.5 starlight-package-managers: specifier: ^0.12.0 - version: 0.12.0(@astrojs/starlight@0.37.6(astro@5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2))) + version: 0.12.0(@astrojs/starlight@0.37.6(astro@5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2))) unist-util-visit: specifier: ^5.1.0 version: 5.1.0 vue: - specifier: ^3.5.28 + specifier: 'catalog:' version: 3.5.28(typescript@5.9.3) devDependencies: '@astrojs/check': @@ -179,7 +176,7 @@ importers: version: 0.9.6(prettier@3.8.1)(typescript@5.9.3) '@types/node': specifier: 'catalog:' - version: 20.17.1 + version: 22.19.11 typescript: specifier: 'catalog:' version: 5.9.3 @@ -193,7 +190,7 @@ importers: specifier: catalog:twoslash version: 0.3.6 typescript: - specifier: ^5.5.0 + specifier: catalog:min version: 5.9.3 devDependencies: ohash: @@ -212,7 +209,7 @@ importers: specifier: catalog:twoslash version: 0.3.6 typescript: - specifier: ^5.5.0 + specifier: catalog:min version: 5.9.3 packages/@ec-ts/vfs: @@ -221,7 +218,7 @@ importers: specifier: ^30.0.0 version: 30.0.0 typescript: - specifier: '*' + specifier: 'catalog:' version: 5.9.3 packages/css-js-gen: @@ -232,6 +229,12 @@ importers: packages/expressive-code-twoslash: dependencies: + '@ec-ts/twoslash': + specifier: workspace:^ + version: link:../@ec-ts/twoslash + '@ec-ts/twoslash-vue': + specifier: workspace:^ + version: link:../@ec-ts/twoslash-vue '@expressive-code/core': specifier: catalog:min version: 0.41.6 @@ -253,15 +256,9 @@ importers: mdast-util-to-hast: specifier: catalog:mdast version: 13.2.1 - twoslash: - specifier: catalog:twoslash - version: 0.3.6(typescript@5.9.3) twoslash-eslint: specifier: catalog:twoslash version: 0.3.6(eslint@10.0.0(jiti@1.21.6)) - twoslash-vue: - specifier: catalog:twoslash - version: 0.3.6(typescript@5.9.3) typescript: specifier: catalog:min version: 5.9.3 @@ -270,13 +267,13 @@ importers: dependencies: '@astrojs/starlight': specifier: 'catalog:' - version: 0.37.6(astro@5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2)) + version: 0.37.6(astro@5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2)) astro: specifier: 'catalog:' - version: 5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2) + version: 5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2) astro-expressive-code: specifier: catalog:ec - version: 0.41.6(astro@5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2)) + version: 0.41.6(astro@5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2)) expressive-code-twoslash: specifier: workspace:* version: link:../packages/expressive-code-twoslash @@ -286,7 +283,7 @@ importers: version: 0.9.6(prettier@3.8.1)(typescript@5.9.3) '@types/node': specifier: 'catalog:' - version: 20.17.1 + version: 22.19.11 typescript: specifier: 'catalog:' version: 5.9.3 @@ -1886,8 +1883,8 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@20.17.1': - resolution: {integrity: sha512-j2VlPv1NnwPJbaCNv69FO/1z4lId0QmGvpT41YxitRtWlg96g/j8qcv2RKsLKe2F6OJgyXhupN1Xo17b2m139Q==} + '@types/node@22.19.11': + resolution: {integrity: sha512-BH7YwL6rA93ReqeQS1c4bsPpcfOmJasG+Fkr6Y59q83f9M1WcBRHR2vM+P9eOisYRcN3ujQoiZY8uk5W+1WL8w==} '@types/sax@1.2.7': resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} @@ -1947,11 +1944,6 @@ packages: resolution: {integrity: sha512-q+SL+b+05Ud6LbEE35qe4A99P+htKTKVbyiNEe45eCbJFyh/HVK9QXwlrbz+Q4L8SOW4roxSVwXYj4DMBT7Ieg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript/vfs@1.6.2': - resolution: {integrity: sha512-hoBwJwcbKHmvd2QVebiytN1aELvpk9B74B4L1mFm/XT1Q/VOYAWl2vQ9AWRFtQq8zmz6enTpfTV8WRc4ATjW/g==} - peerDependencies: - typescript: '*' - '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -4441,16 +4433,6 @@ packages: twoslash-protocol@0.3.6: resolution: {integrity: sha512-FHGsJ9Q+EsNr5bEbgG3hnbkvEBdW5STgPU824AHUjB4kw0Dn4p8tABT7Ncg1Ie6V0+mDg3Qpy41VafZXcQhWMA==} - twoslash-vue@0.3.6: - resolution: {integrity: sha512-HXYxU+Y7jZiMXJN4980fQNMYflLD8uqKey1qVW5ri8bqYTm2t5ILmOoCOli7esdCHlMq4/No3iQUWBWDhZNs9w==} - peerDependencies: - typescript: ^5.5.0 - - twoslash@0.3.6: - resolution: {integrity: sha512-VuI5OKl+MaUO9UIW3rXKoPgHI3X40ZgB/j12VY6h98Ae1mCBihjPvhOPeJWlxCYcmSbmeZt5ZKkK0dsVtp+6pA==} - peerDependencies: - typescript: ^5.5.0 - typanion@3.14.0: resolution: {integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==} @@ -4500,8 +4482,8 @@ packages: underscore@1.13.7: resolution: {integrity: sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==} - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} undici@6.23.0: resolution: {integrity: sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==} @@ -5421,12 +5403,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/mdx@4.3.13(astro@5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2))': + '@astrojs/mdx@4.3.13(astro@5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2))': dependencies: '@astrojs/markdown-remark': 6.3.10 '@mdx-js/mdx': 3.1.1 acorn: 8.15.0 - astro: 5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2) + astro: 5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2) es-module-lexer: 1.7.0 estree-util-visit: 2.0.0 hast-util-to-html: 9.0.5 @@ -5450,17 +5432,17 @@ snapshots: stream-replace-string: 2.0.0 zod: 3.25.76 - '@astrojs/starlight@0.37.6(astro@5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2))': + '@astrojs/starlight@0.37.6(astro@5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2))': dependencies: '@astrojs/markdown-remark': 6.3.10 - '@astrojs/mdx': 4.3.13(astro@5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2)) + '@astrojs/mdx': 4.3.13(astro@5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2)) '@astrojs/sitemap': 3.7.0 '@pagefind/default-ui': 1.3.0 '@types/hast': 3.0.4 '@types/js-yaml': 4.0.9 '@types/mdast': 4.0.4 - astro: 5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2) - astro-expressive-code: 0.41.6(astro@5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2)) + astro: 5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2) + astro-expressive-code: 0.41.6(astro@5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2)) bcp-47: 2.1.0 hast-util-from-html: 2.0.3 hast-util-select: 6.0.3 @@ -5619,7 +5601,7 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/cli@2.29.8(@types/node@20.17.1)': + '@changesets/cli@2.29.8(@types/node@22.19.11)': dependencies: '@changesets/apply-release-plan': 7.0.14 '@changesets/assemble-release-plan': 6.0.9(patch_hash=daf5c4f7356732f541b624e53456ef76097321630db86803e122ad556cefdc07) @@ -5635,7 +5617,7 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.3(@types/node@20.17.1) + '@inquirer/external-editor': 1.0.3(@types/node@22.19.11) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 ci-info: 3.9.0 @@ -6155,12 +6137,12 @@ snapshots: '@img/sharp-win32-x64@0.34.5': optional: true - '@inquirer/external-editor@1.0.3(@types/node@20.17.1)': + '@inquirer/external-editor@1.0.3(@types/node@22.19.11)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 20.17.1 + '@types/node': 22.19.11 '@isaacs/cliui@9.0.0': {} @@ -6174,7 +6156,7 @@ snapshots: '@jest/pattern@30.0.1': dependencies: - '@types/node': 20.17.1 + '@types/node': 22.19.11 jest-regex-util: 30.0.1 '@jest/schemas@30.0.5': @@ -6187,7 +6169,7 @@ snapshots: '@jest/schemas': 30.0.5 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.17.1 + '@types/node': 22.19.11 '@types/yargs': 17.0.35 chalk: 4.1.2 @@ -6937,13 +6919,13 @@ snapshots: '@types/node@17.0.45': {} - '@types/node@20.17.1': + '@types/node@22.19.11': dependencies: - undici-types: 6.19.8 + undici-types: 6.21.0 '@types/sax@1.2.7': dependencies: - '@types/node': 20.17.1 + '@types/node': 22.19.11 '@types/stack-utils@2.0.3': {} @@ -7012,13 +6994,6 @@ snapshots: '@typescript-eslint/types': 8.56.0 eslint-visitor-keys: 5.0.0 - '@typescript/vfs@1.6.2(typescript@5.9.3)': - dependencies: - debug: 4.4.3 - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - '@ungap/structured-clone@1.2.0': {} '@vitest/expect@4.0.18': @@ -7030,13 +7005,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@20.17.1)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2))': + '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@22.19.11)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2))': dependencies: '@vitest/spy': 4.0.18 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@20.17.1)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@22.19.11)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2) '@vitest/pretty-format@4.0.18': dependencies: @@ -7064,7 +7039,7 @@ snapshots: sirv: 3.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vitest: 4.0.18(@types/node@20.17.1)(@vitest/ui@4.0.18)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2) + vitest: 4.0.18(@types/node@22.19.11)(@vitest/ui@4.0.18)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2) '@vitest/utils@4.0.18': dependencies: @@ -7231,7 +7206,7 @@ snapshots: dependencies: '@vitest/runner': 4.0.18 allure-js-commons: 3.4.5 - vitest: 4.0.18(@types/node@20.17.1)(@vitest/ui@4.0.18)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2) + vitest: 4.0.18(@types/node@22.19.11)(@vitest/ui@4.0.18)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2) transitivePeerDependencies: - allure-playwright @@ -7321,12 +7296,12 @@ snapshots: astring@1.9.0: {} - astro-expressive-code@0.41.6(astro@5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2)): + astro-expressive-code@0.41.6(astro@5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2)): dependencies: - astro: 5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2) + astro: 5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2) rehype-expressive-code: 0.41.6 - astro@5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2): + astro@5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2): dependencies: '@astrojs/compiler': 2.13.1 '@astrojs/internal-helpers': 0.7.5 @@ -7383,8 +7358,8 @@ snapshots: unist-util-visit: 5.1.0 unstorage: 1.17.4 vfile: 6.0.3 - vite: 6.4.1(@types/node@20.17.1)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2) - vitefu: 1.1.1(vite@6.4.1(@types/node@20.17.1)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2)) + vite: 6.4.1(@types/node@22.19.11)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2) + vitefu: 1.1.1(vite@6.4.1(@types/node@22.19.11)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2)) xxhash-wasm: 1.1.0 yargs-parser: 21.1.1 yocto-spinner: 0.2.3 @@ -8721,7 +8696,7 @@ snapshots: jest-mock@30.2.0: dependencies: '@jest/types': 30.2.0 - '@types/node': 20.17.1 + '@types/node': 22.19.11 jest-util: 30.2.0 jest-regex-util@30.0.1: {} @@ -8729,7 +8704,7 @@ snapshots: jest-util@30.2.0: dependencies: '@jest/types': 30.2.0 - '@types/node': 20.17.1 + '@types/node': 22.19.11 chalk: 4.1.2 ci-info: 4.4.0 graceful-fs: 4.2.11 @@ -10062,9 +10037,9 @@ snapshots: stackback@0.0.2: {} - starlight-package-managers@0.12.0(@astrojs/starlight@0.37.6(astro@5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2))): + starlight-package-managers@0.12.0(@astrojs/starlight@0.37.6(astro@5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2))): dependencies: - '@astrojs/starlight': 0.37.6(astro@5.17.3(@types/node@20.17.1)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2)) + '@astrojs/starlight': 0.37.6(astro@5.17.3(@types/node@22.19.11)(jiti@1.21.6)(rollup@4.57.1)(terser@5.46.0)(typescript@5.9.3)(yaml@2.8.2)) std-env@3.10.0: {} @@ -10219,23 +10194,6 @@ snapshots: twoslash-protocol@0.3.6: {} - twoslash-vue@0.3.6(typescript@5.9.3): - dependencies: - '@vue/language-core': 3.2.3 - twoslash: 0.3.6(typescript@5.9.3) - twoslash-protocol: 0.3.6 - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - twoslash@0.3.6(typescript@5.9.3): - dependencies: - '@typescript/vfs': 1.6.2(typescript@5.9.3) - twoslash-protocol: 0.3.6 - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - typanion@3.14.0: {} type-check@0.4.0: @@ -10272,7 +10230,7 @@ snapshots: underscore@1.13.7: {} - undici-types@6.19.8: {} + undici-types@6.21.0: {} undici@6.23.0: {} @@ -10393,7 +10351,7 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite@6.4.1(@types/node@20.17.1)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2): + vite@6.4.1(@types/node@22.19.11)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2): dependencies: esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.3) @@ -10402,13 +10360,13 @@ snapshots: rollup: 4.57.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 20.17.1 + '@types/node': 22.19.11 fsevents: 2.3.3 jiti: 1.21.6 terser: 5.46.0 yaml: 2.8.2 - vite@7.3.1(@types/node@20.17.1)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2): + vite@7.3.1(@types/node@22.19.11)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2): dependencies: esbuild: 0.27.3 fdir: 6.5.0(picomatch@4.0.3) @@ -10417,20 +10375,20 @@ snapshots: rollup: 4.57.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 20.17.1 + '@types/node': 22.19.11 fsevents: 2.3.3 jiti: 1.21.6 terser: 5.46.0 yaml: 2.8.2 - vitefu@1.1.1(vite@6.4.1(@types/node@20.17.1)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2)): + vitefu@1.1.1(vite@6.4.1(@types/node@22.19.11)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2)): optionalDependencies: - vite: 6.4.1(@types/node@20.17.1)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2) + vite: 6.4.1(@types/node@22.19.11)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2) - vitest@4.0.18(@types/node@20.17.1)(@vitest/ui@4.0.18)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2): + vitest@4.0.18(@types/node@22.19.11)(@vitest/ui@4.0.18)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2): dependencies: '@vitest/expect': 4.0.18 - '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@20.17.1)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2)) + '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@22.19.11)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2)) '@vitest/pretty-format': 4.0.18 '@vitest/runner': 4.0.18 '@vitest/snapshot': 4.0.18 @@ -10447,10 +10405,10 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@20.17.1)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@22.19.11)(jiti@1.21.6)(terser@5.46.0)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 20.17.1 + '@types/node': 22.19.11 '@vitest/ui': 4.0.18(vitest@4.0.18) transitivePeerDependencies: - jiti diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d7854962..f54d39df 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,9 +1,10 @@ catalog: "@astrojs/check": ^0.9.6 "@astrojs/starlight": ^0.37.6 - "@types/node": ^20.17.1 + "@types/node": ^22.12.0 astro: ^5.17.3 typescript: ^5.9.3 + vue: ^3.5.28 catalogs: ec: @@ -14,20 +15,14 @@ catalogs: mdast-util-gfm: ^3.1.0 mdast-util-to-hast: ^13.2.1 min: - "@expressive-code/core": "^0.41.6" - expressive-code: "^0.41.6" - typescript: ^5.7.3 + "@expressive-code/core": ^0.41.6 + expressive-code: ^0.41.6 + typescript: ^5.5.0 twoslash: "@vue/language-core": ^3.2.0 twoslash-protocol: ^0.3.6 twoslash-eslint: ^0.3.6 - # The following 2 packages are being forked and migrated to this repo, and will be published under the @ec-ts scope. - # Once the migration is complete, these packages should be removed from the catalog and the references to them should - # be updated to point to the workspace:^ version of the packages. - twoslash: ^0.3.6 - twoslash-vue: ^0.3.6 - packages: - packages/@ec-ts/* - packages/*