Check out the folder called docs => ./docs/
- ASSIGNMENT.md - the coding homework
- JOURNAL.md - my thoughts along the way
- PLAN.md - plan of commits and notes for gold plating
"dependencies": {
"@tgrx/apollo-link-rest": "0.6.1", # TGR - incorporates PRs not yet published
"@tgrx/apollo-link-state": "0.4.3", # TGR - incorporates PRs not yet published
"@tgrx/gx": "1.0.0-rc4", # TGR - incorporates PRs not yet published
"react": "16.7.0-alpha.2", # EXPERIMENTAL RELEASE
},
"devDependencies": {
"@tgrx/tslint-config-tgr": "5.0.0", # TGR - tslint settings for minimial clutterCheck out the netlify demo link: https://tgr-weather.netlify.com
After you've cloned this repo and ran npm i -D, do the following:
in your terminal:
$ nps ss # Start the dev serverin your browser console:
$ reopenMobile() # reopen the window the size of iPhone6/7/8go ahead and close the old browser.
* nps # Executes all the tooling
* nps help # Displays all available commands
* nps commit # Creates a commit, don't use `git commit -m ...`
* nps build # Builds the module
* nps lint # Lint checks the module
* nps test # Test checks the modulesrc/
├── app/ - global app stuff
├── components/ - the pieces used in the routes, abstracts modules
├── middlewares/ - third-party HOC functionality (apollo, router)
└── modules/ - first-party modules
└── ui - prototyping the module before extracting it to its own module
├── routes/ - define page for a route
├── types/ - ts modules, common, interfaces
└── utils/ - useful functions
- 🚀 ES2018+ support syntax that is stage-3 or later in the TC39 process.
- 🎛 Preconfigured to support development and optimized production builds
- 🎶
typescriptincremental returns reducing development bugs - 💎
apollo-clientw/link-stateinstead ofreact-redux
- 🐉 React 16+
- 👾 HMR reloads the Changed Code w/o refreshing the entire page
- 🌅
typings-for-css-modules-loaderreplaces 'css-loader' for webpack - 🎠
typings-for-css-modules-loadergenerates d.ts for css files - 🌇
sass-loaderadds vars, imports, heirarchies to css. - replace sass support w/ stylable.io
- 🚦
tslintconfigured for strict, consistent, code style - 🚦
ts-prettierfor some of that code-consistancy that's missing from tslint - 🚦
SonarTSStatic code analyzer detects bugs and suspicious patterns
- 🎭
jestas the test framework. - 🎭
ts-jestconfigured to test TS files, uses tsconfig.jest.json, and skip babel. - 🎭
enzymemakes it easier to assert, manipulate, and traverse components. - 🎭
react-testing-librarymaintainable tests that avoid impl. details. - 🎭
jest-dompatterns for dom testing, compat w/react-testing-library.
- 📦 All source is bundled using Webpack v4
- 🌟 webpack for dev, prod, common
- 🚦
ts-loaderfor compiling typescript - 🚦
webpack-graphql-loaderfor separating gql from ts files - 💦 babel-loader for additional polyfills (browser support)
- 😎 HappyPack
- 🤖 Auto generated Vendor DLL for smooth development experiences
- 🍃 Tree-shaking
- 🎮
npsnode-package-scripts removes the limitation of package.json enabling JS & //comments . Modify/package-scripts.jsand usenps <command>instead ofnpm run <command>. - 🙌
commitizento help us generate beautifully formatted and consistent commit messages. - 😹
cz-emojiis a plugin for commitizen that adds emoji to the commit template. - 🏆
standard-versionis a replacement fornpm versionwith automatic CHANGELOG generation - ✅
commitlintvalidates commit messages to follow commitizen patterns