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 = {{yield 2}};
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 =
+
+ {{two}}
+
+;
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.`);