Note
You are more than welcome to use this setup in your own projects. We will however update this repository according to what we need in the Integreat codebases and take no responsibility for how this may affect your projects. If you want to make changes, we suggest forking.
- Version 10: We now require Node 22.13 or later, as eslint 10 no longer
runs on Node 18 or 20. The tsconfig has been updated to match, and now targets
ES2024 and uses the
node20module mode. Note that TypeScript is still held at version 6, as typescript-eslint does not yet support TypeScript 7. - Version 9: Using eslint 10 and dropped eslint-plugin-promise.
- Version 8: We are now using eslint 9, which comes with a brand new config file format.
- Version 7: We have dropped Ava as a test framework and c8 for coverage, and have started using the built-in node test runner.
npm install @integreat/ts-dev-setup --save-dev
Then run the following commands in terminal to set up symbolic links to config files:
cp node_modules/@integreat/ts-dev-setup/.editorconfig .editorconfig
cp node_modules/@integreat/ts-dev-setup/eslint.config.js eslint.config.js
cp node_modules/@integreat/ts-dev-setup/.prettierrc.json .prettierrc.json
cp node_modules/@integreat/ts-dev-setup/quality.toml quality.toml
cp node_modules/@integreat/ts-dev-setup/tsconfig.json tsconfig.json
"type": "module",
"exports": {
".": {
"import": "./dist/index.js",
"types": "./dist/index.d.ts"
}
},
"main": "dist/index.js",
"types": "dist/index.d.ts","scripts": {
"test": "node --import tsx --test --enable-source-maps --experimental-test-coverage --test-reporter node-test-reporter 'src/**/*.test.ts'",
"test:watch": "npm run dev",
"dev": "node --import tsx --test --enable-source-maps --test-reporter node-test-reporter --watch 'src/**/*.test.ts' || exit 0",
"build": "tsc",
"prepublishOnly": "npm run build",
"lint": "eslint src",
"format": "prettier src/**/*.ts *.md -w",
"typecheck": "tsc --noEmit --strict",
"verify": "npm run lint && npm run typecheck && npm test",
}