Giter Club home page Giter Club logo

bases's Introduction

Centralized Recommendations for TSConfig bases

Hosts TSConfigs for you to extend in your apps, tuned to a particular runtime environment. Owned and improved by the community. Basically Definitely Typed for TSConfigs.

Available TSConfigs

Recommended tsconfig.json

Install:

npm install --save-dev @tsconfig/recommended
yarn add --dev @tsconfig/recommended

Add to your tsconfig.json:

"extends": "@tsconfig/recommended/tsconfig.json"

Create React App tsconfig.json

Install:

npm install --save-dev @tsconfig/create-react-app
yarn add --dev @tsconfig/create-react-app

Add to your tsconfig.json:

"extends": "@tsconfig/create-react-app/tsconfig.json"

Install:

npm install --save-dev @tsconfig/cypress
yarn add --dev @tsconfig/cypress

Add to your tsconfig.json:

"extends": "@tsconfig/cypress/tsconfig.json"

Install:

npm install --save-dev @tsconfig/deno
yarn add --dev @tsconfig/deno

Add to your tsconfig.json:

"extends": "@tsconfig/deno/tsconfig.json"

Docusaurus v2 tsconfig.json

Install:

npm install --save-dev @tsconfig/docusaurus
yarn add --dev @tsconfig/docusaurus

Add to your tsconfig.json:

"extends": "@tsconfig/docusaurus/tsconfig.json"

Install:

npm install --save-dev @tsconfig/ember
yarn add --dev @tsconfig/ember

Add to your tsconfig.json:

"extends": "@tsconfig/ember/tsconfig.json"

Install:

npm install --save-dev @tsconfig/esm
yarn add --dev @tsconfig/esm

Add to your tsconfig.json:

"extends": "@tsconfig/esm/tsconfig.json"

Install:

npm install --save-dev @tsconfig/next
yarn add --dev @tsconfig/next

Add to your tsconfig.json:

"extends": "@tsconfig/next/tsconfig.json"

Node LTS tsconfig.json

Install:

npm install --save-dev @tsconfig/node-lts
yarn add --dev @tsconfig/node-lts

Add to your tsconfig.json:

"extends": "@tsconfig/node-lts/tsconfig.json"

Install:

npm install --save-dev @tsconfig/node10
yarn add --dev @tsconfig/node10

Add to your tsconfig.json:

"extends": "@tsconfig/node10/tsconfig.json"

Install:

npm install --save-dev @tsconfig/node12
yarn add --dev @tsconfig/node12

Add to your tsconfig.json:

"extends": "@tsconfig/node12/tsconfig.json"

Install:

npm install --save-dev @tsconfig/node14
yarn add --dev @tsconfig/node14

Add to your tsconfig.json:

"extends": "@tsconfig/node14/tsconfig.json"

Install:

npm install --save-dev @tsconfig/node16
yarn add --dev @tsconfig/node16

Add to your tsconfig.json:

"extends": "@tsconfig/node16/tsconfig.json"

Install:

npm install --save-dev @tsconfig/node17
yarn add --dev @tsconfig/node17

Add to your tsconfig.json:

"extends": "@tsconfig/node17/tsconfig.json"

Install:

npm install --save-dev @tsconfig/node18
yarn add --dev @tsconfig/node18

Add to your tsconfig.json:

"extends": "@tsconfig/node18/tsconfig.json"

Install:

npm install --save-dev @tsconfig/node19
yarn add --dev @tsconfig/node19

Add to your tsconfig.json:

"extends": "@tsconfig/node19/tsconfig.json"

Install:

npm install --save-dev @tsconfig/node20
yarn add --dev @tsconfig/node20

Add to your tsconfig.json:

"extends": "@tsconfig/node20/tsconfig.json"

Install:

npm install --save-dev @tsconfig/nuxt
yarn add --dev @tsconfig/nuxt

Add to your tsconfig.json:

"extends": "@tsconfig/nuxt/tsconfig.json"

React Native tsconfig.json

Install:

npm install --save-dev @tsconfig/react-native
yarn add --dev @tsconfig/react-native

Add to your tsconfig.json:

"extends": "@tsconfig/react-native/tsconfig.json"

Install:

npm install --save-dev @tsconfig/remix
yarn add --dev @tsconfig/remix

Add to your tsconfig.json:

"extends": "@tsconfig/remix/tsconfig.json"

Strictest tsconfig.json

Install:

npm install --save-dev @tsconfig/strictest
yarn add --dev @tsconfig/strictest

Add to your tsconfig.json:

"extends": "@tsconfig/strictest/tsconfig.json"

Install:

npm install --save-dev @tsconfig/svelte
yarn add --dev @tsconfig/svelte

Add to your tsconfig.json:

"extends": "@tsconfig/svelte/tsconfig.json"

NOTE: After @tsconfig/[email protected], you should add /// <reference types="svelte" /> to a d.ts or a index.ts(entry) file to prevent typescript error.

Install:

npm install --save-dev @tsconfig/taro
yarn add --dev @tsconfig/taro

Add to your tsconfig.json:

"extends": "@tsconfig/taro/tsconfig.json"

Vite React tsconfig.json

Install:

npm install --save-dev @tsconfig/vite-react
yarn add --dev @tsconfig/vite-react

Add to your tsconfig.json:

"extends": "@tsconfig/vite-react/tsconfig.json"

What about combined configs?

Because of previous limitations in the config extension system of TypeScript, this repo used to provide combined configs from a few common bases (like Node + ESM, Node + Strictest and so on).

This issue is now moot since TypeScript v5.0.0, which provides the ability to extend from multiple configs at once. For instance, if you want to start from a Node 18 + Strictest base config, you can install both @tsconfig/node18 and @tsconfig/strictest packages and extend those configs like so:

// tsconfig.json
{
  "extends": ["@tsconfig/strictest/tsconfig", "@tsconfig/node18/tsconfig"]
}

You can see the result of the combined configs via tsc --showConfig.

Contributing

git clone https://github.com/tsconfig/bases.git tsconfig-bases
cd tsconfig-bases

Then edit the tsconfig.json files in bases/.

Every morning there is a GitHub Action which deploys any changed bases.

To generate the recommended TSConfig which is generated via tsc --init, run:

deno run --allow-read --allow-run --allow-env --allow-write --allow-net scripts/generate-recommend.ts

Developing

Create a set of npm packages via:

deno run --allow-read --allow-write --allow-net scripts/create-npm-packages.ts

You can inspect them in the packages/ folder, then they are deployed by passing in the paths to the base files via stdin:

deno run --allow-read --allow-run --allow-env --allow-net scripts/deploy-changed-npm-packages.ts

The rest of the files in this repo are for deploying, which uses Deno 1.0.

If you add a new json file, please run deno run --allow-read --allow-write scripts/update-markdown-readme.ts to update the README.

bases's People

Contributors

acidoxee avatar acrylicshrimp avatar akira-toriyama avatar arniu avatar chasewalden avatar chriskrycho avatar dummdidumm avatar hnordt avatar jamiemagee avatar jonahsnider avatar kachick avatar kaznovac avatar kidonng avatar leotm avatar mataha avatar matthijskok avatar merelinguist avatar mgcrea avatar n1ru4l avatar nickgerleman avatar orta avatar paleite avatar phuctm97 avatar purpzie avatar pvinis avatar retyui avatar robintail avatar samuelbeaulieu avatar slorber avatar smorimoto avatar

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.