What goes into a finished app or JS app
EditorConfig
Coding standards are pretty important. They give confidence of quality and prevent some hard to detect errors.
Code modifiers use a variety of editors and a variety of environments, each with their own default editor configs.
EditorConfig provides a standard that's supported by most code editors (VS, JetBrains...), and those that don't usually have plugins available.
EditorConfig a standard for editors to define things like:
- charset (utf-8, utf-16...)
- end of line definition (lf, cr/lf, whatever)
- end of file definition (empty line at end or not)
That means whatever editor a code modifier might use, they'll have a fixed standard for what text files looks like. You can specify text standards based on file type.
It's just a file called
.editorconfig
in the root of your project that looks something like:# EditorConfig is awesome: https://EditorConfig.org# top-most EditorConfig fileroot = true# Unix-style newlines with a newline ending every file[*]end_of_line = lfinsert_final_newline = true# Matches multiple files with brace expansion notation# Set default charset[*.{js,py}]charset = utf-8# 4 space indentation[*.py]indent_style = spaceindent_size = 4# Tab indentation (no size specified)[Makefile]indent_style = tab# Indentation override for all JS under lib directory[lib/**.js]indent_style = spaceindent_size = 2# Matches the exact files either package.json or .travis.yml[{package.json,.travis.yml}]indent_style = spaceindent_size = 2snyk
Find and fix code vulnerabilities. JS projects have lots of dependencies. And those dependencies have dependencies. Any one of those may have vulnerablities.
Snyk maintains a database of known vulnerabilities. You run your project past Snyk and it produces a report of your vulnerabilities.
ESLint
storybook
Tidy
package.json
Fill in all the fields and make sure they're accurate.
tidy
readme.MD
.gitignore
Check for JavaScript errors.
Check for broken links.
Run it through a VPN.
Run it on a variety of browsers.
Check for accessibility.
Run it through Google Lighthouse.
- Fix
aria-*
properties. - think about viewport attributes
- think about loading times
- Fix