Standard code quality tooling for projects written in TypeScript.
# NPM
npm install -D @aligent/ts-code-standards
# Yarn
yarn add -D @aligent/ts-code-standards
# PNPM
pnpm add -D @aligent/ts-code-standards# Assuming your package is installed in `node_modules` folder
cp node_modules/@aligent/ts-code-standards/.editorconfig ./.editorconfigFor ES modules project:
import{prettierConfig}from'@aligent/ts-code-standards';exportdefaultprettierConfig;
For CommonJS project:
const{ prettierConfig }=require('@aligent/ts-code-standards');module.exports=prettierConfig;
For ES modules project:
import{eslintConfigs}from'@aligent/ts-code-standards';exportdefault[...eslintConfigs.base];
For CommonJS project:
const{ eslintConfigs }=require('@aligent/ts-code-standards');module.exports=[...eslintConfigs.base];
For ES modules project:
import{eslintConfigs}from'@aligent/ts-code-standards';exportdefault[...eslintConfigs.react];
For CommonJS project:
const{ eslintConfigs }=require('@aligent/ts-code-standards');module.exports=[...eslintConfigs.react];
General project:
{ "extends": "@aligent/ts-code-standards/tsconfigs-base" }Extend project (general project but requires TypeScript project references features):
{ "extends": "@aligent/ts-code-standards/tsconfigs-extend" }React project:
{ "extends": "@aligent/ts-code-standards/tsconfigs-react" }
- You'll need to add
include,exclude,pathsetc. to yourtsconfigfile. These settings will be project specific. - Your project is considered as
ES modulesproject if thetypeoption in the nearestpackage.jsonis set tomodule. Otherwise, it's a CommonJS project. For more information on this, please check CommonJS vs. ES modules in Node.js. - For backward compatibility, we also export
./tsconfigs/base.jsonand./tsconfigs/react.json. However, you should update to the new syntax when configuring yourtsconfig.jsonwhen possible. - The
tsconfigs-extendis the configuration for general projects that require TypeScript project references features to enable incremental builds. This is particular useful for monorepo where we have to manage different packages.