@quasarwork/gear-tsconfig

1.6.0 • Public • Published

@quasarwork/gear-tsconfig

This package provides an opinionated TypeScript configuration for Quasar.work's Gear ⚙️ projects.

Learn more about TypeScript configurations.

Install

Run the following command to install this package:

yarn add -D @quasarwork/gear-tsconfig

Usage

To enable a configuration, extend your tsconfig.json file by adding the extends property with the name of the configuration you want to use:

{
  "extends": "@quasarwork/gear-tsconfig/server"
}

Available configurations

tsconfig.server.json

This configuration is the base configuration for all Quasar.work's Gear ⚙️ projects.

In a Gear Shopify app, this will be the configuration used in the tsconfig.json file at the root of the project.

Notes

The used module and moduleResolution are based on the ones that can be found when kicking off a new Gadget app under the .gadget/server/tsconfig.json file.

⚠️ The strict property is mandatory for effect to work properly. See https://github.com/Effect-TS/effect/tree/main?tab=readme-ov-file#requirements.

⚠️ The exactOptionalPropertyTypes property is mandatory for @effect/schema to work properly. See https://github.com/Effect-TS/effect/tree/main/packages/schema#requirements.

tsconfig.client.json

This configuration extends the base.json configuration and replaces the module and moduleResolution as well as the target properties. It also adds some features related to a client side usage.

In a Gear Shopify app, this configuration will be used in the tsconfig.json file at the root of your /web directory (client side).

Notes

The used module, moduleResolution are based on the ones that can be found when kicking off a new Gadget app under the .gadget/client/tsconfig.json file.

tsconfig.extensions.json

This configuration extends the base.json configuration and replaces the module and moduleResolution as well as the target properties. It also adds some features related to a client side usage.

In a Gear Shopify app, this configuration will be used in the tsconfig.json file at the root of your /extensions directory (client side).

Notes

⚠️ The target being es2015 means that Shopify extensions are currently unable to use @effect/schema.

License

MIT © Quasar.work (Aurélien BOBENRIETH)

Dependencies (0)

    Dev Dependencies (4)

    Package Sidebar

    Install

    npm i @quasarwork/gear-tsconfig

    Weekly Downloads

    61

    Version

    1.6.0

    License

    MIT

    Unpacked Size

    9.23 kB

    Total Files

    8

    Last publish

    Collaborators

    • aurelien-quasarwork