@fueled/typescript-standards
Advanced tools
Comparing version 1.0.0 to 1.1.1
{ | ||
"name": "@fueled/typescript-standards", | ||
"version": "1.0.0", | ||
"version": "1.1.1", | ||
"description": "A collection of various TypeScript standards and style guides used internally at Fueled.", | ||
@@ -5,0 +5,0 @@ "scripts": { |
module.exports = { | ||
parser: "@typescript-eslint/parser", | ||
parserOptions: { | ||
project: ['./tsconfig.json'], | ||
project: ["./tsconfig.json"], | ||
sourceType: "module", | ||
}, | ||
plugins: [ | ||
"@typescript-eslint" | ||
], | ||
extends: [ | ||
"plugin:@typescript-eslint/recommended", | ||
"prettier" | ||
], | ||
plugins: ["@typescript-eslint"], | ||
extends: ["plugin:@typescript-eslint/recommended", "prettier"], | ||
env: { | ||
@@ -18,17 +14,14 @@ node: true, | ||
{ | ||
files: ["**/*.spec.ts"], | ||
files: ["**/*.spec.ts", "**/*.e2e-spec.ts"], | ||
plugins: ["jest"], | ||
extends: ["plugin:jest/recommended"], | ||
env: { | ||
jest: true | ||
} | ||
}, | ||
{ | ||
files: ["**/*.e2e-spec.ts"], | ||
jest: true, | ||
}, | ||
rules: { | ||
// We want to disable these, as they do not play well with supertest. | ||
"jest/expect-expect": "off", | ||
"@typescript-eslint/no-floating-promises": "off" | ||
} | ||
} | ||
"@typescript-eslint/no-floating-promises": "off", | ||
}, | ||
}, | ||
], | ||
@@ -38,3 +31,3 @@ rules: { | ||
// https://eslint.org/docs/latest/rules/eqeqeq | ||
"eqeqeq": ["error", "always"], | ||
eqeqeq: ["error", "always"], | ||
@@ -50,4 +43,4 @@ // Disallow await inside of loops | ||
{ | ||
"allow": ["warn", "error"] | ||
} | ||
allow: ["warn", "error"], | ||
}, | ||
], | ||
@@ -60,4 +53,4 @@ | ||
{ | ||
"props": false, | ||
} | ||
props: false, | ||
}, | ||
], | ||
@@ -70,4 +63,4 @@ | ||
{ | ||
"allowForLoopAfterthoughts": true | ||
} | ||
allowForLoopAfterthoughts: true, | ||
}, | ||
], | ||
@@ -80,4 +73,4 @@ | ||
{ | ||
"hoist": "functions" | ||
} | ||
hoist: "functions", | ||
}, | ||
], | ||
@@ -90,4 +83,4 @@ | ||
{ | ||
"default": "array" | ||
} | ||
default: "array", | ||
}, | ||
], | ||
@@ -100,6 +93,6 @@ | ||
{ | ||
"allowExpressions": true, | ||
"allowHigherOrderFunctions": true, | ||
"allowTypedFunctionExpressions": true | ||
} | ||
allowExpressions: true, | ||
allowHigherOrderFunctions: true, | ||
allowTypedFunctionExpressions: true, | ||
}, | ||
], | ||
@@ -116,5 +109,5 @@ | ||
{ | ||
"ignoreParameters": true, | ||
"ignoreProperties": true | ||
} | ||
ignoreParameters: true, | ||
ignoreProperties: true, | ||
}, | ||
], | ||
@@ -127,4 +120,4 @@ | ||
{ | ||
"ignoreRestArgs": true | ||
} | ||
ignoreRestArgs: true, | ||
}, | ||
], | ||
@@ -147,9 +140,11 @@ | ||
{ | ||
"selector": "LabeledStatement", | ||
"message": "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand." | ||
selector: "LabeledStatement", | ||
message: | ||
"Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.", | ||
}, | ||
{ | ||
"selector": "WithStatement", | ||
"message": "`with` is disallowed in strict mode because it makes code impossible to predict and optimize." | ||
} | ||
selector: "WithStatement", | ||
message: | ||
"`with` is disallowed in strict mode because it makes code impossible to predict and optimize.", | ||
}, | ||
], | ||
@@ -189,8 +184,8 @@ | ||
{ | ||
"allowNumber": true, | ||
"allowBoolean": false, | ||
"allowAny": false, | ||
"allowNullish": false, | ||
"allowRegExp": false | ||
} | ||
allowNumber: true, | ||
allowBoolean: false, | ||
allowAny: false, | ||
allowNullish: false, | ||
allowRegExp: false, | ||
}, | ||
], | ||
@@ -205,4 +200,4 @@ | ||
// https://typescript-eslint.io/rules/switch-exhaustiveness-check/ | ||
"@typescript-eslint/switch-exhaustiveness-check": "error" | ||
"@typescript-eslint/switch-exhaustiveness-check": "error", | ||
}, | ||
}; |
{ | ||
"name": "@fueled/eslint-config-fueled-node", | ||
"version": "1.0.0", | ||
"version": "1.1.0", | ||
"description": "Fueled TypeScript ESLint config for Node.", | ||
"main": "index.js", | ||
"scripts": {}, | ||
"scripts": { | ||
"format": "prettier --write *.js", | ||
"format:check": "prettier --check *.js" | ||
}, | ||
"contributors": [ | ||
@@ -19,24 +22,18 @@ { | ||
"prettier": { | ||
"bracketSpacing": true, | ||
"printWidth": 100, | ||
"semi": true, | ||
"singleQuote": true, | ||
"tabWidth": 2, | ||
"trailingComma": "es5", | ||
"useTabs": false | ||
"printWidth": 100 | ||
}, | ||
"dependencies": { | ||
"@typescript-eslint/parser": "^5.48.2", | ||
"eslint-config-prettier": "^8.6.0", | ||
"eslint-plugin-jest": "^27.1.7", | ||
"eslint-plugin-prettier": "^4.2.1" | ||
"@typescript-eslint/parser": "^6.12.0", | ||
"eslint-config-prettier": "^9.0.0", | ||
"eslint-plugin-jest": "^27.6.0", | ||
"eslint-plugin-prettier": "^5.0.1" | ||
}, | ||
"devDependencies": { | ||
"prettier": "^2.8.3", | ||
"typescript": "^4.9.4" | ||
"prettier": "^3.1.0", | ||
"typescript": "^5.3.2" | ||
}, | ||
"peerDependencies": { | ||
"@typescript-eslint/eslint-plugin": "^5.46.1", | ||
"eslint": "^8.29.0" | ||
"@typescript-eslint/eslint-plugin": "^6.12.0", | ||
"eslint": "^8.54.0" | ||
} | ||
} |
{ | ||
"name": "@fueled/prettier-config-fueled-node", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"description": "Fueled TypeScript Prettier config for Node.", | ||
@@ -5,0 +5,0 @@ "main": ".prettierrc.js", |
@@ -0,41 +1,5 @@ | ||
> DEPRECATED: Please use Prettier defaults instead. This package will be removed with the next major release. | ||
# Prettier config for Node applications | ||
[Prettier](https://prettier.io/) rules used for TypeScript & JavaScript within Fueled, for Node applications. | ||
## Installation | ||
TBD | ||
## Usage | ||
TBD | ||
## Rules | ||
- [Bracket Spacing](https://prettier.io/docs/en/options.html#bracket-spacing) Add spaces between brackets in object literals. | ||
`bracketSpacing: true` | ||
- [Print Width](https://prettier.io/docs/en/options.html#print-width) Line length that Prettier will wrap on. Approximate. | ||
`printWidth: 100` | ||
- [Semicolons](https://prettier.io/docs/en/options.html#semicolons) Insert semicolons at the ends of statements. | ||
`semi: true` | ||
- [Quotes](https://prettier.io/docs/en/options.html#semicolons) Use single quotes instead of double quotes. | ||
`singleQuote: true` | ||
- [Tab Width](https://prettier.io/docs/en/options.html#tab-width) Number of spaces per indentation level. | ||
`tabWidth: 2` | ||
- [Trailing Commas](https://prettier.io/docs/en/options.html#trailing-commas) Insert trailing commas where possible. ES2017+. If older ES versions need to be supported, please override this value to "es5". | ||
`trailingComma": "all"` | ||
- [Tabs](https://prettier.io/docs/en/options.html#tabs) Enforce using spaces over tabs. | ||
`useTabs: false` | ||
This package is now deprecated in favour of using default Prettier configuration. For Node applications we encourage overriding the `printWidth` option to `120` manually, as it provides better code readability for TypeScript based Node applications. |
# Fueled TypeScript Standards | ||
*TypeScript style guide used internally at [Fueled](https://fueled.com/en-gb).* | ||
*TypeScript style guide used internally at [Fueled](https://fueled.com/?ref=github).* | ||
@@ -8,9 +8,10 @@ ## Code Standards | ||
### ESLint | ||
- ESLint configuration for Node applications: [eslint-config-fueled-node](packages/eslint-config-fueled-node) | ||
- ESLint configuration for TypeScript based Node applications: [eslint-config-fueled-node](packages/eslint-config-fueled-node) | ||
### Prettier | ||
- Prettier configuration for Node applications: [prettier-config-fueled-node](packages/prettier-config-fueled-node) | ||
### EditorConfig | ||
Install the Fueled Frontend Web [`.editorconfig`](/.editorconfig) at the root of any new project, and ensure that your IDE is [set up to use EditorConfig](https://editorconfig.org/). | ||
--- | ||
Built with ♥ at [Fueled](https://fueled.com/?ref=github) |
17
18949
14
180