Skip to content

Commit cf42c28

Browse files
committed
Add code health packages and configs
1 parent 21a5d9a commit cf42c28

8 files changed

+138
-3
lines changed

.eslintignore

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.github
2+
.nyc_output/
3+
dist/
4+
docs/
5+
logs/
6+
node_modules/
7+
syntest/
8+
.*
9+
*.json
10+
*.md

.eslintrc.json

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"env": {
3+
"es6": true,
4+
"mocha": true,
5+
"node": true
6+
},
7+
"extends": [
8+
"eslint:recommended",
9+
"plugin:@typescript-eslint/recommended",
10+
"prettier"
11+
],
12+
"parser": "@typescript-eslint/parser",
13+
"parserOptions": {
14+
"ecmaVersion": 6,
15+
"sourceType": "module"
16+
},
17+
"plugins": ["@typescript-eslint"],
18+
"rules": {}
19+
}

.prettierignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.nyc_output/
2+
dist/
3+
node_modules/

.prettierrc.json

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"printWidth": 80,
3+
"tabWidth": 2,
4+
"semi": true,
5+
"singleQuote": false,
6+
"trailingComma": "es5"
7+
}

package.json

+13-3
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,20 @@
4747
"test:coverage": "nyc mocha",
4848
"test:watch": "mocha --watch"
4949
},
50-
"dependencies": {
51-
},
5250
"devDependencies": {
53-
51+
"@types/chai": "^4.2.22",
52+
"@types/mocha": "^9.0.0",
53+
"@types/node": "^16.11.7",
54+
"@types/sinon": "^10.0.6",
55+
"@typescript-eslint/eslint-plugin": "^5.4.0",
56+
"@typescript-eslint/parser": "^5.4.0",
57+
"chai": "^4.3.4",
58+
"eslint": "^8.2.0",
59+
"eslint-config-prettier": "^8.3.0",
60+
"mocha": "^9.1.3",
61+
"prettier": "^2.4.1",
62+
"sinon": "^12.0.1",
63+
"typescript": "^4.4.4"
5464
},
5565
"engines": {
5666
"node": ">=10.24.0"

src/tsconfig.json

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"extends": "../tsconfig-base.json",
3+
"compilerOptions": {
4+
"outDir": "../dist",
5+
"rootDir": ".",
6+
"composite": true
7+
},
8+
"include": ["**/*.ts"]
9+
}

tsconfig-base.json

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
{
2+
"compilerOptions": {
3+
/* Visit https://aka.ms/tsconfig.json to read more about this file */
4+
5+
/* Basic Options */
6+
//"incremental": true /* Enable incremental compilation */,
7+
"target": "es6" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
8+
"module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
9+
//"lib": [] /* Specify library files to be included in the compilation. */,
10+
//"allowJs": true /* Allow javascript files to be compiled. */,
11+
//"checkJs": true /* Report errors in .js files. */,
12+
//"jsx": "preserve" /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */,
13+
"declaration": true /* Generates corresponding '.d.ts' file. */,
14+
"declarationMap": true /* Generates a sourcemap for each corresponding '.d.ts' file. */,
15+
"sourceMap": true /* Generates corresponding '.map' file. */,
16+
//"outFile": "./" /* Concatenate and emit output to single file. */,
17+
//"outDir": "./" /* Redirect output structure to the directory. */,
18+
//"rootDir": "./" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */,
19+
//"composite": true /* Enable project compilation */,
20+
//"tsBuildInfoFile": "./" /* Specify file to store incremental compilation information */,
21+
//"removeComments": true /* Do not emit comments to output. */,
22+
//"noEmit": true /* Do not emit outputs. */,
23+
//"importHelpers": true /* Import emit helpers from 'tslib'. */,
24+
"downlevelIteration": true /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */,
25+
//"isolatedModules": true /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */,
26+
27+
/* Strict Type-Checking Options */
28+
"strict": false /* Enable all strict type-checking options. */,
29+
//"noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */,
30+
//"strictNullChecks": true /* Enable strict null checks. */,
31+
//"strictFunctionTypes": true /* Enable strict checking of function types. */,
32+
//"strictBindCallApply": true /* Enable strict 'bind', 'call', and 'apply' methods on functions. */,
33+
//"strictPropertyInitialization": true /* Enable strict checking of property initialization in classes. */,
34+
//"noImplicitThis": true /* Raise error on 'this' expressions with an implied 'any' type. */,
35+
//"alwaysStrict": true /* Parse in strict mode and emit "use strict" for each source file. */,
36+
37+
/* Additional Checks */
38+
//"noUnusedLocals": true /* Report errors on unused locals. */,
39+
//"noUnusedParameters": true /* Report errors on unused parameters. */,
40+
//"noImplicitReturns": true /* Report error when not all code paths in function return a value. */,
41+
//"noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */,
42+
//"noUncheckedIndexedAccess": true /* Include 'undefined' in index signature results */,
43+
//"noPropertyAccessFromIndexSignature": true /* Require undeclared properties from index signatures to use element accesses. */,
44+
45+
/* Module Resolution Options */
46+
//"moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */,
47+
//"baseUrl": "./" /* Base directory to resolve non-absolute module names. */,
48+
//"paths": {} /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */,
49+
//"rootDirs": [] /* List of root folders whose combined content represents the structure of the project at runtime. */,
50+
//"typeRoots": [] /* List of folders to include type definitions from. */,
51+
//"types": [] /* Type declaration files to be included in compilation. */,
52+
//"allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */,
53+
//"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
54+
//"preserveSymlinks": true /* Do not resolve the real path of symlinks. */,
55+
//"allowUmdGlobalAccess": true /* Allow accessing UMD globals from modules. */,
56+
57+
/* Source Map Options */
58+
//"sourceRoot": "" /* Specify the location where debugger should locate TypeScript files instead of source locations. */,
59+
//"mapRoot": "" /* Specify the location where debugger should locate map files instead of generated locations. */,
60+
//"inlineSourceMap": true /* Emit a single file with source maps instead of having a separate file. */,
61+
//"inlineSources": true /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */,
62+
63+
/* Experimental Options */
64+
//"experimentalDecorators": true /* Enables experimental support for ES7 decorators. */,
65+
//"emitDecoratorMetadata": true /* Enables experimental support for emitting type metadata for decorators. */,
66+
67+
/* Advanced Options */
68+
"skipLibCheck": true /* Skip type checking of declaration files. */,
69+
"forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
70+
}
71+
}

tsconfig.json

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"extends": "./tsconfig-base.json",
3+
"files": [],
4+
"include": [],
5+
"references": [{ "path": "src/" }]
6+
}

0 commit comments

Comments
 (0)