Skip to content

Substituir pipeline Babel por tsx + esbuild #91

@edvaldoszy

Description

@edvaldoszy

Remover (10 pacotes):

  • @babel/cli, @babel/core, @babel/node, @babel/plugin-proposal-class-properties, @babel/preset-env, @babel/preset-react, @babel/preset-typescript
  • babel-plugin-module-resolver, jiti, nodemon

Adicionar: esbuild

Atualizar scripts no package.json:

  • starttsx --watch --env-file=.env src/index.ts
  • build:appnode build.mjs (script de entrada do esbuild, ex.: esbuild src/index.ts --bundle --platform=node --outdir=dist)

Observação: tsx está atualmente em dependencies de produção — deve ser movido para devDependencies, pois é necessário apenas em desenvolvimento e no processo de build.

Observação de implementação:
No script build.mjs, incluir a limpeza da pasta dist antes do build, eliminando a necessidade do script clean e da dependência rimraf:

import { rmSync } from 'node:fs'

rmSync('dist', { recursive: true, force: true })

Alterações no Dockerfile

O estágio de build copia atualmente o .babelrc. Após a migração, deve ser substituído por build.mjs:

# Antes
COPY package.json yarn.lock tsconfig.json .babelrc ./

# Depois
COPY package.json yarn.lock tsconfig.json build.mjs ./

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

Status

review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions