From 36d6c7d4268654cb69099fcb87bf64a281ccdc6b Mon Sep 17 00:00:00 2001 From: James Spencer Date: Mon, 2 Oct 2023 19:50:13 +0100 Subject: [PATCH] feat: a template is born --- .gitignore | 172 +++++++++++++++++++++++++++++++++++++++++++++++ .prettierignore | 6 ++ .prettierrc.json | 7 ++ README.md | 20 ++++++ bun.lockb | Bin 0 -> 2048 bytes index.ts | 5 ++ package.json | 13 ++++ tsconfig.json | 21 ++++++ types.d.ts | 6 ++ 9 files changed, 250 insertions(+) create mode 100644 .gitignore create mode 100644 .prettierignore create mode 100644 .prettierrc.json create mode 100644 README.md create mode 100755 bun.lockb create mode 100644 index.ts create mode 100644 package.json create mode 100644 tsconfig.json create mode 100644 types.d.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3d75225 --- /dev/null +++ b/.gitignore @@ -0,0 +1,172 @@ +# Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore + +# Logs + +logs +_.log +npm-debug.log_ +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) + +report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json + +# Runtime data + +pids +_.pid +_.seed +\*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover + +lib-cov + +# Coverage directory used by tools like istanbul + +coverage +\*.lcov + +# nyc test coverage + +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) + +.grunt + +# Bower dependency directory (https://bower.io/) + +bower_components + +# node-waf configuration + +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) + +build/Release + +# Dependency directories + +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) + +web_modules/ + +# TypeScript cache + +\*.tsbuildinfo + +# Optional npm cache directory + +.npm + +# Optional eslint cache + +.eslintcache + +# Optional stylelint cache + +.stylelintcache + +# Microbundle cache + +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history + +.node_repl_history + +# Output of 'npm pack' + +\*.tgz + +# Yarn Integrity file + +.yarn-integrity + +# dotenv environment variable files + +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) + +.cache +.parcel-cache + +# Next.js build output + +.next +out + +# Nuxt.js build / generate output + +.nuxt +dist + +# Gatsby files + +.cache/ + +# Comment in the public line in if your project uses Gatsby and not Next.js + +# https://nextjs.org/blog/next-9-1#public-directory-support + +# public + +# vuepress build output + +.vuepress/dist + +# vuepress v2.x temp and cache directory + +.temp +.cache + +# Docusaurus cache and generated files + +.docusaurus + +# Serverless directories + +.serverless/ + +# FuseBox cache + +.fusebox/ + +# DynamoDB Local files + +.dynamodb/ + +# TernJS port file + +.tern-port + +# Stores VSCode versions used for testing VSCode extensions + +.vscode-test + +# yarn v2 + +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.\* + +# IntelliJ based IDEs +.idea diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..4393804 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,6 @@ +# Ignore artifacts: +build +coverage +node_modules +npm-debug.log +dist diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..990bb13 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,7 @@ +{ + "tabWidth": 4, + "semi": true, + "singleQuote": true, + "useTabs": true, + "trailingComma": "none" +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..47a87a2 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# Typescript + +A "simple" typescript starter. +Uses [bun](https://bun.sh) to manage dependencies and run the project, because well, I don't know. Code crimes. + +## Install + +```bash +bun install +``` + +## Run + +```bash +bun start +``` + +## Linting + +Linting is done with [Prettier](https://prettier.io/), [my editor](https://zed.dev/) is set up to run it on save so I've not added a linting script. diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..935c332a5fff0d65c72b1b93d902181f87d5b9c6 GIT binary patch literal 2048 zcmY#Z)GsYA(of3F(@)JSQ%EY!;{sycoc!eMw9K4T-L(9o+{6;yG6OCq1_p*x^8@ea z&W@iH8&i00bBpcXbRWYgaf23_^Gz)6Ka^K06tDvo0RanyV&Fid8=(9Wm;x|gn1P`| z2FT(9(gj7SB_)}uML;nIP9UEn?Xpp~>3oCvstr2Yt*J?O;tYZ|Y47Zd|S!^8fh%!7K$SrV?OefS8MHG|P-W zv2_#QNL-%*{QPt6PEr~lu2+@ZeaXv3d`vV=Fxx#tttrrkfp zwswNLcjAO3AK71Xt^?f$GZz+aAm_5^|I-XGHY~Wd$Ni&jYphM$J+lbm9qm!K)<%0> zSU*7}SN!_9b9#MGU*AuT=4I1*V?5!D{Xb(?=Ktce7bf1Be;8yI%v@Obfz6GJ=?cBZ zB)jg^laDtf&+vu3Iwt(>%$zMduj_pl;l0Vg`l*v|uJ7V-6V=In&mSoC|62FB`n~r; z#;Qc8ocF=MzSV*Z!2)23A4G$~rwNEbZh)ozJRn;Dm==H(Rxyw`u>d*ziPb}EbvvK| za0W_q*%TKg>t*H@mn7!o=)sB}y^x~RR67MD1BK$us?_{69R(AG#GK6Zy!-5) z{zCwW4T`rPQ1e(onHUJTY)Xxd?10*E7yt?zP`DdF)!PuE4`dG{y#V6|s(v3_U$l`~ zY^ep%(PnTv4N)BpE7xG<7YAdUp`L-BF(Rg6B^*%37$O5J8)0Q2P{vfxNDo+Kaj*fM z0|XvW8Z{(~Q*+Bwi}YM8N>YpR5_5t}iZb)k?Gy|VjB1?;=Ob`K8 z2p}>3dy8$}$rkP^DK1Ve0-6?kS)nl~&HINMP&E%QjkZ{ro?)!u`&R*VK?bx20ERs< z91L*<14Bt=L27YwQD#AjZb@oxK~7>xDyZH83nSzpu7KE_QBqP+Y^ASXl$xGdTvAl2 zmsgORRjij^l&+7^ps$O>(FKQ+UP*ct$Q)Si(o4=N#$y&t8PFscQx_Z$Aan5OgS#H6 R5zf{H$1O-FIB*9c0RX)Kg}VR% literal 0 HcmV?d00001 diff --git a/index.ts b/index.ts new file mode 100644 index 0000000..28b8cfc --- /dev/null +++ b/index.ts @@ -0,0 +1,5 @@ +function start(): void { + console.log('App started'); +} + +start(); diff --git a/package.json b/package.json new file mode 100644 index 0000000..b12c297 --- /dev/null +++ b/package.json @@ -0,0 +1,13 @@ +{ + "name": "typescript-template", + "module": "index.ts", + "type": "module", + "scripts": { + "start": "bun run index.ts" + }, + "devDependencies": { + "bun-types": "^1.0.3", + "prettier": "^3.0.3", + "typescript": "^5.2.2" + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..6838df5 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "module": "esnext", + "target": "esnext", + "moduleResolution": "bundler", + "moduleDetection": "force", + "allowImportingTsExtensions": true, + "noEmit": true, + "composite": true, + "strict": true, + "downlevelIteration": true, + "skipLibCheck": true, + "jsx": "preserve", + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "allowJs": true, + "types": [ + "bun-types" // add Bun global + ] + } +} diff --git a/types.d.ts b/types.d.ts new file mode 100644 index 0000000..a6f8e00 --- /dev/null +++ b/types.d.ts @@ -0,0 +1,6 @@ +/// +/// +/// + +// Necessary because bun +// https://bun.sh/docs/typescript#dom-types