Skip to content

Instantly share code, notes, and snippets.

@mholubowski
Created October 15, 2019 01:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mholubowski/41b72fcabc2e3d2682aa551e4fa50c6e to your computer and use it in GitHub Desktop.
Save mholubowski/41b72fcabc2e3d2682aa551e4fa50c6e to your computer and use it in GitHub Desktop.
mikes-setup
// tsconfig.json
{
"compilerOptions": {
"outDir": "./dist/",
"esModuleInterop": false,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"strict": true,
"noImplicitAny": true,
"noImplicitThis": true,
"noImplicitReturns": true,
"strictNullChecks": true,
"module": "commonjs",
"target": "es5",
"jsx": "react",
"lib": [
"es5",
"es6",
"dom"
]
},
"include": [
"./src/**/*"
],
"awesomeTypescriptLoaderOptions": {
"reportFiles": [
"./src/**/*"
]
}
}
// tslint.json
{
"defaultSeverity": "error",
"extends": [
"tslint:recommended",
"tslint-config-prettier",
"tslint-react",
"tslint-no-circular-imports"
],
"jsRules": {},
"rules": {
"no-var-requires": false,
"interface-name": false,
"no-namespace": false,
"object-literal-sort-keys": false,
"variable-name": false,
"no-console": false
},
"rulesDirectory": []
}
//.vscode/settings.json
{
"typescript.tsdk": "node_modules/typescript/lib",
"editor.formatOnSave": true,
"prettier.requireConfig": true,
"tslint.autoFixOnSave": true
}
//.vscode/tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Watch TS Errors",
"type": "shell",
"command": "tsc",
"args": [
"-w",
"-p",
".",
"--noEmit"
],
"isBackground": true,
"problemMatcher": "$tsc-watch",
"auto": true
},
{
"label": "tslint-check-entire-project",
"type": "shell",
"command": "tslint --project tsconfig.json --config tslint.json --format verbose",
"group": {
"kind": "test",
"isDefault": true
}
//do not set "problemMatcher" as that will cause the linted errors to persist in Problems window even after being fixed!
},
{
"label": "tslint-FIX-entire-project-CAREFUL",
"type": "shell",
"command": "tslint --project tsconfig.json --config tslint.json --fix",
"group": {
"kind": "test",
"isDefault": true
}
//do not set "problemMatcher" as that will cause the linted errors to persist in Problems window even after being fixed!
},
]
}
//package.json
{
"name": "pro-mail-ui",
"version": "0.1.0",
"description": "ProMail UI",
"keywords": [
"typescript",
"ProMail"
],
"author": "Mike Holubowski",
"license": "Proprietary",
"repository": {
"type": "git",
"url": "git+https://github.com/PLY-Technologies/ProMail-UI.git"
},
"bugs": {
"url": "https://github.com/PLY-Technologies/ProMail-UI.git/issues"
},
"homepage": "https://github.com/PLY-Technologies/ProMail-UI.git",
"scripts": {
"build": "yarn run clean-dist && webpack -p --config=configs/webpack/prod.js",
"clean-dist": "rimraf dist/*",
"lint": "tslint './src/**/*.ts*' --format stylish --project . --force",
"start": "yarn run start-dev",
"start-dev": "webpack-dev-server --config=configs/webpack/dev.js",
"start-prod": "yarn run build && node express.js",
"test": "jest --watch --coverage --config=configs/jest.json"
},
"devDependencies": {
"@babel/cli": "^7.5.5",
"@babel/core": "^7.5.5",
"@babel/preset-env": "^7.5.5",
"@babel/preset-react": "^7.0.0",
"@types/babel__core": "^7.1.3",
"@types/express": "^4.17.1",
"@types/html-webpack-plugin": "^3.2.1",
"@types/jest": "^24.0.18",
"@types/node": "^12.7.2",
"@types/node-sass": "^4.11.0",
"@types/react": "^16.9.2",
"@types/react-dom": "^16.9.0",
"@types/rimraf": "^2.0.2",
"@types/uglifyjs-webpack-plugin": "^1.1.0",
"@types/webpack": "^4.39.1",
"@types/webpack-dev-middleware": "^2.0.3",
"@types/webpack-dev-server": "^3.1.7",
"@types/webpack-merge": "^4.1.5",
"awesome-typescript-loader": "^5.2.1",
"babel-loader": "^8.0.6",
"copy-webpack-plugin": "^5.0.4",
"css-loader": "^3.2.0",
"express": "^4.17.1",
"file-loader": "^4.2.0",
"html-webpack-plugin": "^3.2.0",
"image-webpack-loader": "^5.0.0",
"jest": "^24.9.0",
"node-sass": "^4.12.0",
"prettier": "1.18.2",
"react": "^16.9.0",
"react-dom": "^16.9.0",
"react-hot-loader": "^4.12.11",
"rimraf": "^3.0.0",
"sass-loader": "^7.3.1",
"style-loader": "^1.0.0",
"tslint": "^5.20.0",
"tslint-config-prettier": "^1.18.0",
"tslint-no-circular-imports": "^0.7.0",
"tslint-react": "^4.1.0",
"typescript": "^3.6.3",
"uglifyjs-webpack-plugin": "^2.2.0",
"webpack": "^4.39.2",
"webpack-cli": "^3.3.7",
"webpack-dev-middleware": "^3.7.0",
"webpack-dev-server": "^3.8.0",
"webpack-merge": "^4.2.1"
},
"dependencies": {
"@procore/core-react": "^7.18.0",
"@types/react-router": "^5.0.3",
"@types/react-router-dom": "^4.3.5",
"change-case": "^3.1.0",
"easy-peasy": "^3.1.0",
"immer": "^4.0.0",
"react-hook-form": "^3.23.12",
"react-router-dom": "^5.0.1"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment