From 80b80b2ddea29cdce28d0c7d47dc3f6205c7b25d Mon Sep 17 00:00:00 2001 From: Alexander Nanberg Date: Fri, 13 Dec 2024 12:56:43 +0100 Subject: [PATCH] Add support for TypeScript fbt enum files Use babel for transpilation --- .../src/example/{Example$FbtEnum.js => Example$FbtEnum.ts} | 2 +- example/src/example/Example.react.tsx | 2 +- jest.config.js | 4 ++-- packages/babel-fbtee/src/bin.tsx | 2 +- packages/babel-plugin-fbtee/src/bin.tsx | 2 +- tsconfig.json | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) rename example/src/example/{Example$FbtEnum.js => Example$FbtEnum.ts} (89%) diff --git a/example/src/example/Example$FbtEnum.js b/example/src/example/Example$FbtEnum.ts similarity index 89% rename from example/src/example/Example$FbtEnum.js rename to example/src/example/Example$FbtEnum.ts index ff525a1b..e4ea29cf 100644 --- a/example/src/example/Example$FbtEnum.js +++ b/example/src/example/Example$FbtEnum.ts @@ -4,4 +4,4 @@ export default { PHOTO: 'photo', POST: 'post', VIDEO: 'video', -}; +} as const; diff --git a/example/src/example/Example.react.tsx b/example/src/example/Example.react.tsx index caa4831c..1f7d2c6e 100644 --- a/example/src/example/Example.react.tsx +++ b/example/src/example/Example.react.tsx @@ -2,7 +2,7 @@ import classNames from 'classnames'; import { fbs, fbt, GenderConst, IntlVariations, setupFbtee } from 'fbtee'; import { ChangeEvent, useCallback, useState } from 'react'; import translations from '../translatedFbts.json' with { type: 'json' }; -import ExampleEnum from './Example$FbtEnum.js'; +import ExampleEnum from './Example$FbtEnum.ts'; let viewerContext = { GENDER: IntlVariations.GENDER_UNKNOWN, diff --git a/jest.config.js b/jest.config.js index de3e61dd..ca760d92 100644 --- a/jest.config.js +++ b/jest.config.js @@ -5,9 +5,9 @@ import CommonStrings from './example/common_strings.json' with { type: 'json' }; process.env.NODE_ENV = 'development'; const globalConfig = { - extensionsToTreatAsEsm: ['.tsx'], + extensionsToTreatAsEsm: ['.ts', '.tsx'], testEnvironment: 'node', - testMatch: ['**/__tests__/**/*-test.(js|jsx|tsx)'], + testMatch: ['**/__tests__/**/*-test.(js|jsx|ts|tsx)'], transform: { '\\.(j|t)sx?$': '/jest-preprocessor.js', }, diff --git a/packages/babel-fbtee/src/bin.tsx b/packages/babel-fbtee/src/bin.tsx index 6f1c25d1..6931457d 100644 --- a/packages/babel-fbtee/src/bin.tsx +++ b/packages/babel-fbtee/src/bin.tsx @@ -1,3 +1,3 @@ -#! /usr/bin/env node +#! /usr/bin/env node --experimental-strip-types import('@nkzw/babel-plugin-fbtee/lib/bin.js'); diff --git a/packages/babel-plugin-fbtee/src/bin.tsx b/packages/babel-plugin-fbtee/src/bin.tsx index 70660642..0fafecc0 100644 --- a/packages/babel-plugin-fbtee/src/bin.tsx +++ b/packages/babel-plugin-fbtee/src/bin.tsx @@ -1,4 +1,4 @@ -#! /usr/bin/env node +#! /usr/bin/env node --experimental-strip-types const command = process.argv[2]; process.argv.splice(2, 1); diff --git a/tsconfig.json b/tsconfig.json index 79f917a8..9be4c39c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -27,5 +27,5 @@ "target": "es2022" }, "exclude": ["packages/*/lib/", "node_modules"], - "include": ["**/*.ts", "**/*.tsx", "example/src/example/Example$FbtEnum.js"] + "include": ["**/*.ts", "**/*.tsx"] }