Compare commits
22 Commits
step-6
...
tjs/step-1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dbbb2064b7 | ||
|
|
28545516e3 | ||
|
|
b0d4378a07 | ||
|
|
e88f4ba7af | ||
|
|
650e66fe3f | ||
|
|
544df8b178 | ||
|
|
4fa1a97129 | ||
|
|
fbb81df6c9 | ||
|
|
fb1aa446f5 | ||
|
|
b6add202df | ||
|
|
544746d064 | ||
|
|
d0c1fa44e4 | ||
|
|
cd5939daf8 | ||
|
|
cc722afcb2 | ||
|
|
571fc946b8 | ||
|
|
898876d0d2 | ||
|
|
9c51bd92fa | ||
|
|
f10cfb98ce | ||
|
|
860492ad3f | ||
|
|
4e579627b7 | ||
|
|
053c5de689 | ||
|
|
d43c846d12 |
13
.babelrc
Normal file
13
.babelrc
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"presets": [
|
||||
[
|
||||
"@babel/preset-env",
|
||||
{
|
||||
"targets": {
|
||||
"node": "10"
|
||||
}
|
||||
}
|
||||
],
|
||||
"@babel/preset-typescript"
|
||||
]
|
||||
}
|
||||
25
.eslintrc
25
.eslintrc
@@ -1,12 +1,31 @@
|
||||
{
|
||||
"parserOptions": {
|
||||
"ecmaVersion": "2018"
|
||||
"ecmaVersion": 2019,
|
||||
"sourceType": "module",
|
||||
"ecmaFeatures": {
|
||||
"jsx": true
|
||||
}
|
||||
},
|
||||
"extends": ["eslint:recommended", "eslint-config-prettier"],
|
||||
"rules": {
|
||||
"no-console": "off"
|
||||
"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
|
||||
dist
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
node_modules
|
||||
coverage
|
||||
dist
|
||||
build
|
||||
.build
|
||||
|
||||
# etc...
|
||||
@@ -1,9 +1,14 @@
|
||||
{
|
||||
"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,
|
||||
|
||||
4241
package-lock.json
generated
4241
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
32
package.json
32
package.json
@@ -1,20 +1,28 @@
|
||||
{
|
||||
"name": "static-testing-tools",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"private": true,
|
||||
"author": "Kent C. Dodds (http://kentcdodds.com/)",
|
||||
"license": "GPLv3",
|
||||
"scripts": {
|
||||
"lint": "eslint src",
|
||||
"build": "babel src --extensions .js,.ts,.tsx --out-dir dist",
|
||||
"lint": "eslint --ignore-path .gitignore --ext .js,.ts,.tsx .",
|
||||
"check-types": "tsc",
|
||||
"prettier": "prettier --ignore-path .gitignore \"**/*.+(js|json|ts|tsx)\"",
|
||||
"format": "npm run prettier -- --write",
|
||||
"prettier": "prettier \"**/*.+(js|jsx|json|yml|yaml|css|less|scss|ts|tsx|md|graphql|mdx)\"",
|
||||
"validate": "npm run lint && npm run prettier -- --list-different"
|
||||
"check-format": "npm run prettier -- --list-different",
|
||||
"validate": "npm run check-types && npm run check-format && npm run lint && npm run build"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "Kent C. Dodds <kent@doddsfamily.us> (http://kentcdodds.com/)",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"eslint": "^5.5.0",
|
||||
"eslint-config-prettier": "^3.0.1",
|
||||
"prettier": "^1.14.2"
|
||||
"@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",
|
||||
"prettier": "^1.19.1",
|
||||
"typescript": "^3.7.2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const name = 'Freddy'
|
||||
typeof name === 'string'
|
||||
const username = 'freddy'
|
||||
typeof username === 'string'
|
||||
|
||||
if (!('serviceWorker' in navigator)) {
|
||||
// you have an old browser :-(
|
||||
@@ -7,5 +7,4 @@ if (!('serviceWorker' in navigator)) {
|
||||
|
||||
const greeting = 'hello'
|
||||
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