diff --git a/.changeset/clean-lemons-collect.md b/.changeset/clean-lemons-collect.md new file mode 100644 index 0000000000..ea9bc6b931 --- /dev/null +++ b/.changeset/clean-lemons-collect.md @@ -0,0 +1,6 @@ +--- +"@marko/translator-default": patch +"marko": patch +--- + +Switch to .d.marko file for tag types to avoid issues when loaded in a pure typescript project. By default TypeScript doesn't play well with `node_modules` which are seen as `.js` files which is what the jsdoc version of a Marko file appears as. By switching to a `.d.marko` it is instead always seen as `.ts` which is always analyzed by typescript. diff --git a/packages/marko/src/core-tags/core/await/index.d.marko b/packages/marko/src/core-tags/core/await/index.d.marko new file mode 100644 index 0000000000..a5239270e0 --- /dev/null +++ b/packages/marko/src/core-tags/core/await/index.d.marko @@ -0,0 +1,10 @@ +export interface Input { + value: readonly [T]; + then?: { renderBody: Marko.Body<[Awaited]> }; + catch?: { renderBody: Marko.Body<[unknown]> }; + placeholder?: { renderBody: Marko.Body }; + "client-reorder"?: boolean; + name?: string; + timeout?: number; + "show-after"?: string; +} diff --git a/packages/marko/src/core-tags/core/await/index.marko b/packages/marko/src/core-tags/core/await/index.marko deleted file mode 100644 index e8a89b81a0..0000000000 --- a/packages/marko/src/core-tags/core/await/index.marko +++ /dev/null @@ -1,13 +0,0 @@ -/** - * @template T - * @typedef {{ - * value: readonly [T]; - * then?: { renderBody: Marko.Body<[Awaited]> }; - * catch?: { renderBody: Marko.Body<[unknown]> }; - * placeholder?: { renderBody: Marko.Body }; - * "client-reorder"?: boolean; - * name?: string; - * timeout?: number; - * "show-after"?: string; - * }} Input - */ diff --git a/packages/translator-default/src/taglib/core/index.js b/packages/translator-default/src/taglib/core/index.js index f40c9d56f1..641a51049a 100644 --- a/packages/translator-default/src/taglib/core/index.js +++ b/packages/translator-default/src/taglib/core/index.js @@ -284,7 +284,7 @@ export default { }, "": { renderer: "marko/src/core-tags/core/await/renderer.js", - types: "marko/src/core-tags/core/await/index.marko", + types: "marko/src/core-tags/core/await/index.d.marko", "code-generator": translateAwait, "@_provider": "expression", "@_name": "string",