@shopify/typescript-configs

    5.0.0 • Public • Published

    @shopify/typescript-configs

    License: MIT npm version

    In TypeScript, the configuration file can extend from a base file. This package provided a few common base configuration files to simplify TypeScript project setup.

    To read more about how this extensibility works. See typescript handbook.

    Below are two documentation we have also found useful to have on hand while setting up a configuration file.

    Installation

    $ yarn add --dev @shopify/typescript-configs

    Usage

    React Application Project

    To start, create a tsconfig.json in the root of your project.

    A typical setup where the application sit in [project root]/app folder is as follow:

    {
      "extends": "@shopify/typescript-configs/application.json",
      "compilerOptions": {
        "baseUrl": ".",
        "rootDir": ".",
        "paths": {"*": ["*", "app/*"]}
      },
      "include": ["./app/**/*", "./client/**/*", "./server/**/*", "./tests/**/*"]
    }

    React Library Project

    Similarly for a react library project. Create a tsconfig.json in the root of your project with a setup below assuming the library code sit in [project root]/src folder.

    {
      "extends": "@shopify/typescript-configs/library.json",
      "compilerOptions": {
        "baseUrl": "./src",
        "rootDir": "."
      },
      "include": ["./src/**/*"]
    }

    Project that run in the browser

    A configuration file is provided that included styles setup and a more conservative build target.

    {
      "extends": "@shopify/typescript-configs/dom.json",
      "compilerOptions": {
        "baseUrl": ".",
        "rootDir": "."
      }
    }

    All Other Project

    A base configuration file is also provided if the above does not fit your need.

    {
      "extends": "@shopify/typescript-configs/base.json",
      "compilerOptions": {
        "baseUrl": ".",
        "rootDir": "."
      }
    }

    Common Got Ya

    Type Checking does not honour skipLibCheck: true setting

    There are times when the type failure occur inside of a library your project is consuming, and having skipLibCheck: true does not resolved it. In this scenario, add an exclude option to your tsconfig.json.

    eg.

    {
      "extends": "@shopify/typescript-configs/base.json",
      "compilerOptions": {
        "baseUrl": ".",
        "rootDir": ".",
        "exclude": ["./node_modules/**/*"]
      }
    }

    Keywords

    none

    Install

    npm i @shopify/typescript-configs

    DownloadsWeekly Downloads

    46,727

    Version

    5.0.0

    License

    MIT

    Unpacked Size

    7.58 kB

    Total Files

    10

    Last publish

    Collaborators

    • vsumner
    • marytal
    • themallen
    • thomaskelly
    • nathanpjf
    • shopify-dep
    • goodforonefare
    • lemonmade
    • wizardlyhel
    • antoine.grant
    • tsov
    • andyw8-shopify
    • henrytao
    • hannachen
    • andrewapperley
    • iainmcampbell
    • vividviolet
    • bpscott