(tokenDefinitions: TokenDefinition[])
| 266 | } |
| 267 | |
| 268 | async function writeTokenDefinitions(tokenDefinitions: TokenDefinition[]) { |
| 269 | mkdirSync(definitionsDir, { recursive: true }) |
| 270 | |
| 271 | const generatedFiles = new Set( |
| 272 | tokenDefinitions.map((token) => `${token.importName}.ts`), |
| 273 | ) |
| 274 | |
| 275 | for (const fileName of readdirSync(definitionsDir)) { |
| 276 | if (!fileName.endsWith('.ts')) continue |
| 277 | if (generatedFiles.has(fileName)) continue |
| 278 | |
| 279 | const file = new URL(fileName, definitionsDir) |
| 280 | if (hasGeneratedBanner(readFileSync(file, 'utf8'))) unlinkSync(file) |
| 281 | } |
| 282 | |
| 283 | await Promise.all( |
| 284 | tokenDefinitions.map((token) => |
| 285 | Bun.write( |
| 286 | new URL(`${token.importName}.ts`, definitionsDir), |
| 287 | getTokenDefinitionSource(token), |
| 288 | ), |
| 289 | ), |
| 290 | ) |
| 291 | } |
| 292 | |
| 293 | async function writeTokensIndex(tokenDefinitions: TokenDefinition[]) { |
| 294 | const definitionExports = getDefinitionExports(tokenDefinitions) |
no test coverage detected