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 ./.editorconfig-
For ES modules project:
import { prettierConfig } from '@aligent/ts-code-standards'; export default prettierConfig;
-
For CommonJS project:
const { prettierConfig } = require('@aligent/ts-code-standards'); module.exports = prettierConfig;
-
For ES modules project:
import { eslintConfigs } from '@aligent/ts-code-standards'; export default [...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'; export default [...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.