{"id":19005038,"url":"https://github.com/codeedu/typescript-node-starter","last_synced_at":"2025-04-22T18:51:02.933Z","repository":{"id":42802193,"uuid":"271289208","full_name":"codeedu/typescript-node-starter","owner":"codeedu","description":null,"archived":false,"fork":false,"pushed_at":"2023-03-04T23:34:36.000Z","size":432,"stargazers_count":7,"open_issues_count":5,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-17T10:25:13.000Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codeedu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-06-10T13:47:46.000Z","updated_at":"2024-01-26T17:11:10.000Z","dependencies_parsed_at":"2024-11-08T18:42:19.796Z","dependency_job_id":null,"html_url":"https://github.com/codeedu/typescript-node-starter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeedu%2Ftypescript-node-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeedu%2Ftypescript-node-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeedu%2Ftypescript-node-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeedu%2Ftypescript-node-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codeedu","download_url":"https://codeload.github.com/codeedu/typescript-node-starter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250303402,"owners_count":21408589,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T18:25:51.421Z","updated_at":"2025-04-22T18:51:02.906Z","avatar_url":"https://github.com/codeedu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"http://nestjs.com/\" target=\"blank\"\u003e\u003cimg src=\"https://fullcycle.com.br/wp-content/themes/fullcycle-blog/application/img/logo-fullcycle.png\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Descrição\n\nProjeto Back-end para se começar com TypeScript de forma produtiva.\n\n## Motivação\n\nO entendimento do que é o TypeScript é simples, todos sabemos que é uma linguagem de programação com tipagem \npara dar outra dinâmica a programação JavaScript.\n\nInstalar o TypeScript e roda-lo em cima de scripts .ts também é simples.\n\nPorém, na hora de criar aplicações com Node.js a história pode ser um pouco diferente. \nTemos inicialmente dois problemas:\n\n* Qual sistema de módulos utilizar para carregar os arquivos JavaScript?\n* Como organizar o esqueleto do projeto para permitir separar a separação do TypeScript de desenvolvimento e JavaScript de produção?\n* Como organizar o ambiente de desenvolvimento para usar diretamente o TypeScript?\n\nHoje com o Node.js fica bem mais simples trabalhar com módulos, já que ele suporta não só CommonJS, mas também ES6 Modules de forma nativa e isto é facilmente configurável no TypeScript, mas é necessário organizar as configurações no projeto.\n\nHoje também é possível trabalhar com TypeScript diretamente no desenvolvimento sem a necessidade de\ncompilar para JavaScript a cada modificação, então podemos executar a aplicação TypeScript com Node,\nmas é necessário organizar as configurações no projeto.\n\nEste pacote é uma forma produtiva de se começar com TypeScript com Node.js.\n\n## Instalação\n\n* Node.js\n* Faça o clone do projeto\n* Execute o comando ```npm install```\n\n## Rodar o projeto\n\n* ```npm start``` - Executa a aplicação com ts-node e roda um servidor em http://localhost:3000 para testar o projeto.\n* ```npm run build``` - Compila o TypeScript em modo produção.\n* ```npm run prod``` - Levanta a aplicação JavaScript com Node compilada pelo npm run build.\n* ```npm run ts-node``` - Execute o ts-node. Ferramenta para executar o TypeScript com Node, é possível abrir um console e testar expressões como executar diretamente arquivos TypeScript\n\n## Apêndice\n\nNo branch **using_webpack** há um exemplo de como desenvolver esta aplicação criando um front-end\ntambém com TypeScript. A configuração do front-end foi baseada no repositório [https://github.com/codeedu/typescript-starter](https://github.com/codeedu/typescript-starter).\n\nO frontend está embutido neste projeto, mas poderíamos também organizar o projeto em duas pastas:\n\n```\n- backend\n- frontend\n```\n\n### Rodar o projeto\n\n* ```npm run frontend-dev``` - Compila o TypeScript em modo desenvolvimento.\n* ```npm run frontend-watch``` - Compila o TypeScript em modo desenvolvimento usando modo watch.\n* ```npm run frontend-prod``` - Compila o TypeScript em modo produção.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeedu%2Ftypescript-node-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodeedu%2Ftypescript-node-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeedu%2Ftypescript-node-starter/lists"}