Compare commits
28 Commits
step-1
...
tjs/step-1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
00eade470c | ||
|
|
dbbb2064b7 | ||
|
|
28545516e3 | ||
|
|
b0d4378a07 | ||
|
|
e88f4ba7af | ||
|
|
650e66fe3f | ||
|
|
544df8b178 | ||
|
|
4fa1a97129 | ||
|
|
fbb81df6c9 | ||
|
|
fb1aa446f5 | ||
|
|
b6add202df | ||
|
|
544746d064 | ||
|
|
d0c1fa44e4 | ||
|
|
cd5939daf8 | ||
|
|
cc722afcb2 | ||
|
|
571fc946b8 | ||
|
|
898876d0d2 | ||
|
|
9c51bd92fa | ||
|
|
f10cfb98ce | ||
|
|
860492ad3f | ||
|
|
4e579627b7 | ||
|
|
053c5de689 | ||
|
|
d43c846d12 | ||
|
|
437ed30ddb | ||
|
|
94216f47e8 | ||
|
|
4f2fde56e2 | ||
|
|
c077931399 | ||
|
|
82342de51c |
13
.babelrc
Normal file
13
.babelrc
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"presets": [
|
||||||
|
[
|
||||||
|
"@babel/preset-env",
|
||||||
|
{
|
||||||
|
"targets": {
|
||||||
|
"node": "10"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@babel/preset-typescript"
|
||||||
|
]
|
||||||
|
}
|
||||||
31
.eslintrc
Normal file
31
.eslintrc
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"parserOptions": {
|
||||||
|
"ecmaVersion": 2019,
|
||||||
|
"sourceType": "module",
|
||||||
|
"ecmaFeatures": {
|
||||||
|
"jsx": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"extends": ["eslint:recommended", "eslint-config-prettier"],
|
||||||
|
"rules": {
|
||||||
|
"strict": ["error", "never"]
|
||||||
|
},
|
||||||
|
"env": {
|
||||||
|
"browser": true
|
||||||
|
},
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": "**/*.+(ts|tsx)",
|
||||||
|
"parser": "@typescript-eslint/parser",
|
||||||
|
"parserOptions": {
|
||||||
|
"project": "./tsconfig.json"
|
||||||
|
},
|
||||||
|
"plugins": ["@typescript-eslint/eslint-plugin"],
|
||||||
|
"extends": [
|
||||||
|
"plugin:@typescript-eslint/eslint-recommended",
|
||||||
|
"plugin:@typescript-eslint/recommended",
|
||||||
|
"eslint-config-prettier/@typescript-eslint"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
|||||||
node_modules
|
node_modules
|
||||||
|
dist
|
||||||
|
|||||||
5
.huskyrc
Normal file
5
.huskyrc
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"hooks": {
|
||||||
|
"pre-commit": "npm run check-types && lint-staged"
|
||||||
|
}
|
||||||
|
}
|
||||||
9
.lintstagedrc
Normal file
9
.lintstagedrc
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"*.+(js|ts|tsx)": [
|
||||||
|
"eslint"
|
||||||
|
],
|
||||||
|
"*.+(js|json|ts|tsx)": [
|
||||||
|
"prettier --write",
|
||||||
|
"git add"
|
||||||
|
]
|
||||||
|
}
|
||||||
17
.prettierrc
Normal file
17
.prettierrc
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"arrowParens": "avoid",
|
||||||
|
"bracketSpacing": false,
|
||||||
|
"htmlWhitespaceSensitivity": "css",
|
||||||
|
"insertPragma": false,
|
||||||
|
"jsxBracketSameLine": false,
|
||||||
|
"jsxSingleQuote": false,
|
||||||
|
"printWidth": 80,
|
||||||
|
"proseWrap": "always",
|
||||||
|
"quoteProps": "as-needed",
|
||||||
|
"requirePragma": false,
|
||||||
|
"semi": false,
|
||||||
|
"singleQuote": true,
|
||||||
|
"tabWidth": 2,
|
||||||
|
"trailingComma": "all",
|
||||||
|
"useTabs": false
|
||||||
|
}
|
||||||
5505
package-lock.json
generated
5505
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
34
package.json
34
package.json
@@ -1,11 +1,29 @@
|
|||||||
{
|
{
|
||||||
"name": "static-testing-tools",
|
"name": "static-testing-tools",
|
||||||
"version": "1.0.0",
|
"private": true,
|
||||||
"description": "",
|
"author": "Kent C. Dodds (http://kentcdodds.com/)",
|
||||||
"main": "index.js",
|
"license": "GPLv3",
|
||||||
"scripts": {},
|
"scripts": {
|
||||||
"keywords": [],
|
"build": "babel src --extensions .js,.ts,.tsx --out-dir dist",
|
||||||
"author": "Kent C. Dodds <kent@doddsfamily.us> (http://kentcdodds.com/)",
|
"lint": "eslint --ignore-path .gitignore --ext .js,.ts,.tsx .",
|
||||||
"license": "MIT",
|
"check-types": "tsc",
|
||||||
"devDependencies": {}
|
"prettier": "prettier --ignore-path .gitignore \"**/*.+(js|json|ts|tsx)\"",
|
||||||
|
"format": "npm run prettier -- --write",
|
||||||
|
"check-format": "npm run prettier -- --list-different",
|
||||||
|
"validate": "npm run check-types && npm run check-format && npm run lint && npm run build"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@babel/cli": "^7.7.0",
|
||||||
|
"@babel/core": "^7.7.2",
|
||||||
|
"@babel/preset-env": "^7.7.1",
|
||||||
|
"@babel/preset-typescript": "^7.7.2",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^2.7.0",
|
||||||
|
"@typescript-eslint/parser": "^2.7.0",
|
||||||
|
"eslint": "^6.6.0",
|
||||||
|
"eslint-config-prettier": "^6.5.0",
|
||||||
|
"husky": "^3.0.9",
|
||||||
|
"lint-staged": "^9.4.2",
|
||||||
|
"prettier": "^1.19.1",
|
||||||
|
"typescript": "^3.7.2"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
const name = 'Freddy'
|
const username = 'freddy'
|
||||||
typeof name === 'strng'
|
typeof username === 'string'
|
||||||
|
|
||||||
if (!'serviceWorker' in navigator) {
|
if (!('serviceWorker' in navigator)) {
|
||||||
// you have an old browser :-(
|
// you have an old browser :-(
|
||||||
}
|
}
|
||||||
|
|
||||||
const greeting = 'hello'
|
const greeting = 'hello'
|
||||||
console.log('${greting} world!')
|
console.log(`${greeting} world!`)
|
||||||
|
;[1, 2, 3].forEach(x => console.log(x))
|
||||||
[(1, 2, 3)].forEach(x => console.log(x))
|
|
||||||
|
|||||||
21
src/typescript-example.ts
Normal file
21
src/typescript-example.ts
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
function add(a: number, b: number): number {
|
||||||
|
return a + b
|
||||||
|
}
|
||||||
|
|
||||||
|
interface 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)
|
||||||
|
|
||||||
|
getFullName({name: {first: 'Joe', middle: 'Bud', last: 'Matthews'}})
|
||||||
6
tsconfig.json
Normal file
6
tsconfig.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"noEmit": true,
|
||||||
|
"baseUrl": "./src"
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user