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..a91c6800 100644
--- a/test-packages/v2-ts-ember-addon/src/index.ts
+++ b/test-packages/v2-ts-ember-addon/src/index.ts
@@ -1 +1,3 @@
export { Foo } from './foo.gts';
+export { Usage } from './co-located-declarations/usage.gts';
+export { CLDFoo } from './co-located-declarations/foo.gjs';
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.`);
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",