Install:
- Code editor
- Nodejs v16.19.0 LTS version. To get v16.19.0 use nvm
- Git
- Set vscode extensions (just copy/paste all rows below in search bar):
dbaeumer.vscode-eslint
esbenp.prettier-vscode
rangav.vscode-thunder-client
richie5um2.vscode-sort-json
rohit-gohri.format-code-action
streetsidesoftware.code-spell-checker
yzhang.markdown-all-in-one
mhutchie.git-graph
- Set vscode settings:
{
// Runs Prettier, then ESLint
"editor.codeActionsOnSave": ["source.formatDocument", "source.fixAll.eslint"],
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": false,
"editor.tabSize": 2,
"window.zoomLevel": 2,
"workbench.colorTheme": "Default Dark+"
}
- Create a new repository on GitHub (then you can clone repo or 4-5 steps)
git init
git remote add origin https://github.com/username/reponame.git
npm init
npm i -D eslint prettier eslint-config-prettier
- Add to
package.json
file:
"main": "src/index.js",
"type": "module",
"scripts": {
"lint": "npx eslint src",
"lint:fix": "npm run lint -- --fix",
"prettier": "npx prettier src --check",
"prettier:fix": "npm run prettier -- --write",
"format": "npm run prettier:fix && npm run lint:fix"
}
- Add files:
{}
{
"env": {
"node": true
},
"extends": ["eslint:recommended", "prettier"],
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": ["simple-import-sort", "import"],
"rules": {
"simple-import-sort/imports": "error",
"simple-import-sort/exports": "error",
"import/first": "error",
"import/newline-after-import": "error",
"import/no-duplicates": "error"
},
"overrides": [
// override "simple-import-sort" config
{
"files": ["*.js", "*.jsx", "*.ts", "*.tsx"],
"rules": {
"simple-import-sort/imports": [
"error",
{
"groups": [
// Packages `react` related packages come first.
["^react", "^@?\\w"],
// Side effect imports.
["^\\u0000"],
// Internal packages.
["^(@|components)(/.*|$)"],
// Parent imports. Put `..` last.
["^\\.\\.(?!/?$)", "^\\.\\./?$"],
// Other relative imports. Put same-folder imports and `.` last.
["^\\./(?=.*/)(?!/?$)", "^\\.(?!/?$)", "^\\./?$"],
// Style imports.
["^.+\\.?(css)$"]
]
}
]
}
}
]
}
node_modules/
console.log('Hello world..');
npm install -g nodemon
nodemon src/index.js
- You should see
Hello world..
in terminal git add .
git commit -m 'feat(*): initial commit'
git push -u origin master