Git Product home page Git Product logo

simple-typescript-starter's Introduction

🧰 Simple TypeScript Starter | 2024

We talk about a lot of advanced Node.js and TypeScript concepts on the blog, particularly focused around Domain-Driven Design and large-scale enterprise application patterns. However, I received a few emails from readers that were interested in seeing what a basic TypeScript starter project looks like. So I've put together just that.

Features

  • Minimal
  • TypeScript v4
  • Testing with Jest
  • Linting with Eslint and Prettier
  • Pre-commit hooks with Husky
  • VS Code debugger scripts
  • Local development with Nodemon

Scripts

npm run start:dev

Starts the application in development using nodemon and ts-node to do hot reloading.

npm run start

Starts the app in production by first building the project with npm run build, and then executing the compiled JavaScript at build/index.js.

npm run build

Builds the app at build, cleaning the folder first.

npm run test

Runs the jest tests once.

npm run test:dev

Run the jest tests in watch mode, waiting for file changes.

npm run prettier-format

Format your code.

npm run prettier-watch

Format your code in watch mode, waiting for file changes.

simple-typescript-starter's People

Contributors

dependabot[bot] avatar robsimmons avatar stemmlerjs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

simple-typescript-starter's Issues

missing testing aspect

Hola Khalil, first of all, thank you for your nice starter repo πŸ‘!

Have you considered enhancing your repo with information about testing?

Please add a VS Code debug file

Here is a VS Code Debug file in .vscode folder (${workspaceFolder}/.vscode or root dir + .vscode dir, or simple-typescript-starter-master/.vscode):

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceFolder}/src/index.ts", // our main file
            "sourceMaps": true,
            "preLaunchTask": "npm: build",
            "outFiles": [
                "${workspaceFolder}/build/index.js"
            ]
        }
    ]
}

This works for Console.log(""), but try it for:

import fs from 'fs';

const text = fs.readFileSync("README.md", "utf8");
console.log(text);

and it will fail with

C:\Program Files\nodejs\node.exe .\src\index.ts
Debugger attached.
Waiting for the debugger to disconnect...
...\simple-typescript-starter-master\src\index.ts:1
import fs from 'fs';
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at wrapSafe (internal/modules/cjs/loader.js:1072:16)

I am not a TS, Node and tricks person, but please add such a correct file, I would appreciate it.

Google Chrome DevTools

Hello ;)
I am trying to run source code using Google DevTools but have not been successful.

In package.json
"scripts": { "start:dev": "npx nodemon --inspect=127.0.0.1:9229 src/index.ts" }

Π‘Π½ΠΈΠΌΠΎΠΊ экрана 2023-01-07 Π² 20 05 54

Any help?

Package updates

Can the packages in repo be updated to the lastest versions ?
I get this long list of update with ncu

 @types/jest                       ^28.1.8  β†’  ^29.5.8
 @types/node                       ^18.6.1  β†’  ^20.9.0
 @typescript-eslint/eslint-plugin  ^5.31.0  β†’  ^6.10.0
 @typescript-eslint/parser         ^5.31.0  β†’  ^6.10.0
 eslint                            ^8.20.0  β†’  ^8.53.0
 eslint-config-prettier             ^8.5.0  β†’   ^9.0.0
 eslint-plugin-jest                ^26.6.0  β†’  ^27.6.0
 eslint-plugin-prettier             ^4.2.1  β†’   ^5.0.1
 husky                              ^8.0.1  β†’   ^8.0.3
 jest                              ^28.1.3  β†’  ^29.7.0
 nodemon                           ^2.0.19  β†’   ^3.0.1
 prettier                           ^2.7.1  β†’   ^3.0.3
 rimraf                             ^3.0.2  β†’   ^5.0.5
 ts-jest                           ^28.0.7  β†’  ^29.1.1
 typescript                         ^4.7.4  β†’   ^5.2.2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.