This commit is contained in:
Kent C. Dodds
2018-09-10 18:26:48 -07:00
commit c8bc20bf21
10 changed files with 3091 additions and 0 deletions

14
.eslintrc Normal file
View File

@@ -0,0 +1,14 @@
{
"parser": "babel-eslint",
"rules": {
"valid-typeof": "error",
"no-negated-in-lhs": "error",
"no-unused-vars": "error",
"no-template-curly-in-string": "error",
"no-undef": "error",
"no-unexpected-multiline": "error"
},
"env": {
"browser": true
}
}

11
.flowconfig Normal file
View File

@@ -0,0 +1,11 @@
[ignore]
[include]
[libs]
[lints]
[options]
[strict]

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
node_modules

0
.lintstagedrc Normal file
View File

12
.prettierrc Normal file
View File

@@ -0,0 +1,12 @@
{
"arrowParens": "avoid",
"bracketSpacing": false,
"jsxBracketSameLine": false,
"printWidth": 80,
"proseWrap": "always",
"semi": false,
"singleQuote": true,
"tabWidth": 2,
"trailingComma": "all",
"useTabs": false
}

2986
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

21
package.json Normal file
View File

@@ -0,0 +1,21 @@
{
"name": "static-testing-tools",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "Kent C. Dodds <kent@doddsfamily.us> (http://kentcdodds.com/)",
"license": "MIT",
"devDependencies": {
"babel-eslint": "^9.0.0",
"eslint": "^5.5.0",
"eslint-config-prettier": "^3.0.1",
"flow-bin": "^0.80.0",
"husky": "^0.14.3",
"lint-staged": "^7.2.2",
"prettier": "^1.14.2"
}
}

12
src/eslint.js Normal file
View File

@@ -0,0 +1,12 @@
const name = 'Freddy'
typeof name === 'strng'
if (!'serviceWorker' in navigator) {
// you have an old browser :-(
}
const greeting = 'hello'
console
.log('${greting} world!')
[(1, 2, 3)].forEach(x => console.log(x))

27
src/flow.js Normal file
View File

@@ -0,0 +1,27 @@
// @flow
function add(a: number, b: number): number {
return a + b
}
type User = {
name: {
first: string,
middle: string,
last: string,
},
}
function getFullName(user: User): string {
const {
name: {first, middle, last},
} = user
return [first, middle, last].filter(Boolean).join('')
}
add(1, 2)
const one = '1'
add(one, 2)
getFullName({name: {first: 'Joe', middle: 'Bud', last: 'Matthews'}})
getFullName({name: {first: 'Joe', middle: false, last: 'Matthews'}})

7
src/prettier.js Normal file
View File

@@ -0,0 +1,7 @@
const user = {
name: {first: 'Joe', middle: 'Bud', last: 'Matthews'},
age: 25,
birthday: 'October 18th, 1988',
}
console.log(user)