codeshape v0.3.30
codeshape
A linting utility with a built-in set of code-style rules for JS, TS, and CSS
Usage
- Install
codeshape
into a project:npm i -D codeshape
(or globally:npm i -g codeshape
); - Run
codeshape
in the project directory.
Features
Consistent spacing for arrays and objects
As in the mathematical notation of vectors and set elements: (x, y, z), {x, y, z}.
[x, y, z]
{x, y, z}
{x: 0, y: 1, z: -1}
import {x} from './x';
Stroustrup indentation style
else
and catch
on the next line after }
allow for consistent placement of comments covering the condition and the entire following block:
// this is a comment to the condition
if (condition) {
// ...
}
// another comment
else if (otherCondition) {
// ...
}
// yet another comment
else {
// ...
}
Keywords are spaced, function()
is not
As in the mathematical notation.
function(params)
, setCustomValue(value)
as in f(x), no space before the bracket.
if (x)
, for (let i...)
, while (ok)
as in regular logical statements, with a space before the conditional expression.
Arrow function brackets only when necessary
let f = x => x + 10;
— akin to mapping a scalar x, normally unbracketed.
let g = (x, y) => x + y - 10;
— akin to mapping a vector (x, y), normally bracketed.
Preferring let
over const
Motivation:
- Simple decision making, reduced cognitive load:
let
is good for all variables,let
is the default; - Adherence to the semantic meaning of constants:
const
is an option to emphasize and communicate to other developers that a certain value should not be reassigned, which applies to intentionally fixed values and normally doesn't semantically apply to one-time local variables; - Compliance to the definition:
const
is for values that can't be reassigned, rather than for values that are not reassigned.
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago