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..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",