From 30650b56f595e8252495467c0e174c15d52069a7 Mon Sep 17 00:00:00 2001 From: Edward Faulkner Date: Mon, 31 Mar 2025 10:53:33 -0400 Subject: [PATCH 1/2] Failing test: implied export default with satisfies --- tests/cases/gts/implied-export-default-satisfies.gts | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 tests/cases/gts/implied-export-default-satisfies.gts diff --git a/tests/cases/gts/implied-export-default-satisfies.gts b/tests/cases/gts/implied-export-default-satisfies.gts new file mode 100644 index 00000000..6051b82c --- /dev/null +++ b/tests/cases/gts/implied-export-default-satisfies.gts @@ -0,0 +1,5 @@ +import type { TemplateOnlyComponent } from '@ember/component/template-only'; + + satisfies TemplateOnlyComponent; From 2c7fba8d7b8df65b02f77ccc478d5688807c98de Mon Sep 17 00:00:00 2001 From: Edward Faulkner Date: Mon, 31 Mar 2025 13:04:16 -0400 Subject: [PATCH 2/2] Fixing satisfies case --- package.json | 2 +- pnpm-lock.yaml | 8 ++++---- src/parse/preprocess.ts | 2 +- tests/cases/gts/implied-export-default-satisfies.gts | 2 +- tests/unit-tests/__snapshots__/format.test.ts.snap | 9 +++++++++ .../config/__snapshots__/semi-false.test.ts.snap | 9 +++++++++ .../__snapshots__/template-export-default.test.ts.snap | 9 +++++++++ 7 files changed, 34 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 5b33a225..1e407557 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ }, "dependencies": { "@babel/core": "^7.23.6", - "content-tag": "^3.1.1", + "content-tag": "^3.1.2", "prettier": "^3.1.1" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6f9ab1c1..7dd6d269 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: specifier: ^7.23.6 version: 7.26.0 content-tag: - specifier: ^3.1.1 - version: 3.1.1 + specifier: ^3.1.2 + version: 3.1.2 prettier: specifier: ^3.1.1 version: 3.1.1 @@ -1986,8 +1986,8 @@ packages: proto-list: 1.2.4 dev: true - /content-tag@3.1.1: - resolution: {integrity: sha512-94puwVk6X8oJcbRIEY03UM80zWzA3dYgGkOiRJzeY1vXgwrFUh3OolDDi/D7YBa6Vsx+CgAvuk4uXlB8loZ1FA==} + /content-tag@3.1.2: + resolution: {integrity: sha512-Z+MGhZfnFFKzYC+pUTWXnoDYhfiXP9ojZe3JbwsYufmDuoeq2EvuDyeFAJ/RnKokUwz5s9bQhDOrbvSYRShcrQ==} dev: false /convert-source-map@2.0.0: diff --git a/src/parse/preprocess.ts b/src/parse/preprocess.ts index 7bbd0b3b..0dd434a8 100644 --- a/src/parse/preprocess.ts +++ b/src/parse/preprocess.ts @@ -71,7 +71,7 @@ export function preprocessTemplateRange( suffix = '*/}'; const nextToken = code.slice(template.range.end).toString().match(/\S+/); - if (nextToken && nextToken[0] === 'as') { + if (nextToken && (nextToken[0] === 'as' || nextToken[0] === 'satisfies')) { // Replace with parenthesized ObjectExpression prefix = '(' + prefix; suffix = suffix + ')'; diff --git a/tests/cases/gts/implied-export-default-satisfies.gts b/tests/cases/gts/implied-export-default-satisfies.gts index 6051b82c..77277e1e 100644 --- a/tests/cases/gts/implied-export-default-satisfies.gts +++ b/tests/cases/gts/implied-export-default-satisfies.gts @@ -1,5 +1,5 @@ import type { TemplateOnlyComponent } from '@ember/component/template-only'; satisfies TemplateOnlyComponent; diff --git a/tests/unit-tests/__snapshots__/format.test.ts.snap b/tests/unit-tests/__snapshots__/format.test.ts.snap index 84f0fcbc..891978db 100644 --- a/tests/unit-tests/__snapshots__/format.test.ts.snap +++ b/tests/unit-tests/__snapshots__/format.test.ts.snap @@ -453,6 +453,15 @@ export const Exported =