From bc57ff148e82791bbcff9f556afd657b0373a26b Mon Sep 17 00:00:00 2001 From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com> Date: Wed, 8 Oct 2025 18:11:55 -0400 Subject: [PATCH 1/5] Repro: unable to define .d.ts for gjs --- .../v2-ts-ember-addon/src/co-located-declarations/foo.gjs | 1 + .../src/co-located-declarations/foo.gjs.d.ts | 7 +++++++ .../src/co-located-declarations/usage.gts | 7 +++++++ test-packages/v2-ts-ember-addon/src/index.ts | 1 + 4 files changed, 16 insertions(+) create mode 100644 test-packages/v2-ts-ember-addon/src/co-located-declarations/foo.gjs create mode 100644 test-packages/v2-ts-ember-addon/src/co-located-declarations/foo.gjs.d.ts create mode 100644 test-packages/v2-ts-ember-addon/src/co-located-declarations/usage.gts diff --git a/test-packages/v2-ts-ember-addon/src/co-located-declarations/foo.gjs b/test-packages/v2-ts-ember-addon/src/co-located-declarations/foo.gjs new file mode 100644 index 00000000..b45145f9 --- /dev/null +++ b/test-packages/v2-ts-ember-addon/src/co-located-declarations/foo.gjs @@ -0,0 +1 @@ +export const CLDFoo = ; diff --git a/test-packages/v2-ts-ember-addon/src/co-located-declarations/foo.gjs.d.ts b/test-packages/v2-ts-ember-addon/src/co-located-declarations/foo.gjs.d.ts new file mode 100644 index 00000000..a6b5c19f --- /dev/null +++ b/test-packages/v2-ts-ember-addon/src/co-located-declarations/foo.gjs.d.ts @@ -0,0 +1,7 @@ +import type { ComponentLike } from '@glint/template'; + +export declare const CLDFoo: ComponentLike<{ + Blocks: { + default: [two: number]; + }; +}>; diff --git a/test-packages/v2-ts-ember-addon/src/co-located-declarations/usage.gts b/test-packages/v2-ts-ember-addon/src/co-located-declarations/usage.gts new file mode 100644 index 00000000..d0064a47 --- /dev/null +++ b/test-packages/v2-ts-ember-addon/src/co-located-declarations/usage.gts @@ -0,0 +1,7 @@ +import { CLDFoo } from './foo.gjs'; + +export const Usage = ; diff --git a/test-packages/v2-ts-ember-addon/src/index.ts b/test-packages/v2-ts-ember-addon/src/index.ts index f5783415..6131bdc5 100644 --- a/test-packages/v2-ts-ember-addon/src/index.ts +++ b/test-packages/v2-ts-ember-addon/src/index.ts @@ -1 +1,2 @@ export { Foo } from './foo.gts'; +export { Usage } from './co-located-declarations/usage.gts'; From 13a6d329a3d8e647d91b0274667e2a42f2fe9489 Mon Sep 17 00:00:00 2001 From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com> Date: Wed, 8 Oct 2025 18:13:09 -0400 Subject: [PATCH 2/5] Fixed it --- .../src/co-located-declarations/foo.d.gjs.ts | 7 +++++++ test-packages/v2-ts-ember-addon/tsconfig.json | 1 + 2 files changed, 8 insertions(+) create mode 100644 test-packages/v2-ts-ember-addon/src/co-located-declarations/foo.d.gjs.ts diff --git a/test-packages/v2-ts-ember-addon/src/co-located-declarations/foo.d.gjs.ts b/test-packages/v2-ts-ember-addon/src/co-located-declarations/foo.d.gjs.ts new file mode 100644 index 00000000..a6b5c19f --- /dev/null +++ b/test-packages/v2-ts-ember-addon/src/co-located-declarations/foo.d.gjs.ts @@ -0,0 +1,7 @@ +import type { ComponentLike } from '@glint/template'; + +export declare const CLDFoo: ComponentLike<{ + Blocks: { + default: [two: number]; + }; +}>; diff --git a/test-packages/v2-ts-ember-addon/tsconfig.json b/test-packages/v2-ts-ember-addon/tsconfig.json index ef0c5abe..40f8a34f 100644 --- a/test-packages/v2-ts-ember-addon/tsconfig.json +++ b/test-packages/v2-ts-ember-addon/tsconfig.json @@ -7,6 +7,7 @@ "extends": "@ember/app-tsconfig", "include": ["src/**/*", "tests/**/*", "unpublished-development-types/**/*"], "compilerOptions": { + "allowArbitraryExtensions": true, "rootDir": ".", "types": [ "ember-source/types", From d3ad59a9784faa9c94bc01e7b4a699751dfec7ef Mon Sep 17 00:00:00 2001 From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com> Date: Wed, 8 Oct 2025 18:13:26 -0400 Subject: [PATCH 3/5] Removed unneded file --- .../src/co-located-declarations/foo.d.gjs.ts | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 test-packages/v2-ts-ember-addon/src/co-located-declarations/foo.d.gjs.ts diff --git a/test-packages/v2-ts-ember-addon/src/co-located-declarations/foo.d.gjs.ts b/test-packages/v2-ts-ember-addon/src/co-located-declarations/foo.d.gjs.ts deleted file mode 100644 index a6b5c19f..00000000 --- a/test-packages/v2-ts-ember-addon/src/co-located-declarations/foo.d.gjs.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { ComponentLike } from '@glint/template'; - -export declare const CLDFoo: ComponentLike<{ - Blocks: { - default: [two: number]; - }; -}>; From 1413fc66c67c434019101a9a20bda4e149809c90 Mon Sep 17 00:00:00 2001 From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com> Date: Wed, 8 Oct 2025 18:15:36 -0400 Subject: [PATCH 4/5] gjs + d.ts is not re-written --- test-packages/v2-ts-ember-addon/src/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/test-packages/v2-ts-ember-addon/src/index.ts b/test-packages/v2-ts-ember-addon/src/index.ts index 6131bdc5..a91c6800 100644 --- a/test-packages/v2-ts-ember-addon/src/index.ts +++ b/test-packages/v2-ts-ember-addon/src/index.ts @@ -1,2 +1,3 @@ export { Foo } from './foo.gts'; export { Usage } from './co-located-declarations/usage.gts'; +export { CLDFoo } from './co-located-declarations/foo.gjs'; From f8e8e0e7982d15efec9a55cc4924130a091c7b58 Mon Sep 17 00:00:00 2001 From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com> Date: Wed, 8 Oct 2025 18:25:30 -0400 Subject: [PATCH 5/5] Update test-build to check for gjs --- test-packages/v2-ts-ember-addon/test-build.mjs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/test-packages/v2-ts-ember-addon/test-build.mjs b/test-packages/v2-ts-ember-addon/test-build.mjs index 55412d6e..906e8411 100644 --- a/test-packages/v2-ts-ember-addon/test-build.mjs +++ b/test-packages/v2-ts-ember-addon/test-build.mjs @@ -19,15 +19,20 @@ assertReady(); for await (const entry of glob('{dist,declarations}/**/*.{js,d.ts}')) { console.log(`Checking ${entry}`); - let buffer = readFile(entry); + let buffer = await readFile(entry); let content = buffer.toString(); - let hasForbiddenExtensions = content.match(/\.gts/); + let hasGts = content.match(/\.gts/g); + let hasGjs = content.match(/\.gjs/g); check( - !hasForbiddenExtensions, + !hasGts, `Expected ${entry} to not have the .gts extension anywhere in the file`, ); + check( + !hasGjs, + `Expected ${entry} to not have the .gjs extension anywhere in the file`, + ); } assertDone(); @@ -59,6 +64,8 @@ function assertReady() { } function assertDone() { + console.log('\n\n'); + assertReady(); console.info(`No issues were found.`);