Skip to content
Merged

2.0.1 #229

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/actions/node_linter/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ runs:
- name: Lint with eslint
run: |
if [[ ${{ inputs.use_eslint }} != 'false' ]]; then
npm run lint-config-install
npm run lint
else
echo "Skipping eslint"
Expand All @@ -49,7 +48,6 @@ runs:
- name: Lint with stylelint
run: |
if [[ ${{ inputs.use_stylelint }} != 'false' ]]; then
npm rum lint-scss-config-install
npm run lint-scss
else
echo "Skipping stylelint"
Expand Down
18 changes: 13 additions & 5 deletions .github/configurations/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,15 @@ pip install coverage
To add additional dependecies to CI, insert them in `requirements-dev.txt` file (inside *<requirements_path>* folder).

### Node.js
To use locally, install these dependencies:
To use locally, install Jest or similar:
```
npm i -D jest @testing-library/jest-dom babel-jest @babel/core @babel/preset-env
npm i -D jest jest-environment-jsdom @testing-library/react @testing-library/dom @testing-library/jest-dom
```
To add React support, install:
and after configuration add these scripts to your `package.json`:
```
npm i -D @testing-library/jest-dom @testing-library/react
scripts {
"test": "TZ=UTC jest ./tests --silent",
}
```
To launch:
```bash
Expand All @@ -50,7 +52,13 @@ pip install coverage
To add additional dependecies to CI, insert them in `requirements-dev.txt` file (inside *<requirements_path>* folder).

### Node.js
To use locally, install [test](#nodejs-1) dependencies, and run:
To use locally, follow Tests configuration and add this scripts to your `package.json`:
```
scripts {
"test-coverage": "npm test -- --coverage=true",
}
```
To launch:
```bash
npm run test-coverage
```
Expand Down
4 changes: 4 additions & 0 deletions .github/configurations/node_linters/.stylelintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"extends": ["stylelint-config-standard-scss"],
"rules": {}
}
76 changes: 31 additions & 45 deletions .github/configurations/node_linters/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,43 +2,31 @@

# ⬡ Node.js linters

## 📖 How to use
Download repo via `git subtree` (see [here](/README.md)).
Customize configurations files (if needed).

- ### [ESLint](https://eslint.org/)
To use locally, install these dependencies:
```bash
npm i -D eslint
npm run lint-config-install
```
To run:
## 🔧 Dependencies
To use locally, add dependencies to your project:
```bash
npm run lint
xargs npm i -D < ./.github/configurations/node_linters/requirements-linters.txt
```

- ### [Stylelint](https://stylelint.io/)
To use locally, install these dependencies:
```bash
npm i -D stylelint
npm run lint-scss-config-install
and add these scripts to `package.json`:
```
To run:
```bash
npm run lint-scss
"config": {
"eslint": ".github/configurations/node_linters/eslint.config.mjs",
"stylelint": ".github/configurations/node_linters/.stylelintrc.json",
"prettier": ".github/configurations/node_linters/.prettierrc.json"
},
"scripts": {
"lint": "eslint -c $npm_package_config_eslint",
"lint-fix": "npm run lint -- --fix",
"lint-scss": "stylelint --config $npm_package_config_stylelint '**/*.{css,scss}'",
"lint-scss-fix": "npm run lint-scss -- --fix",
"formatter": "prettier --config $npm_package_config_prettier --check",
"formatter-fix": "npm run formatter -- --write"
},
```

- ### (Opt.) [Prettier](https://prettier.io/)
To use locally, enable configurations and customize
- Enable/disable `eslint-config-prettier` in ESlint config file
Install these dependencies:
```bash
npm i -D prettier
```
To run:
```
npm run formatter
```

## 📖 How to use
Customize configurations files (if needed).


## 💻 How to configure your IDE
Expand All @@ -49,22 +37,20 @@ Here are some examples:
In `.vscode/settings.json`
```json
{
"editor.formatOnSave": true,
"eslint.options": {
"overrideConfigFile": ".github/configurations/node_linters/eslint/.eslintrc.json"
},
"eslint.format.enable": true,
"stylelint.configFile": ".github/configurations/node_linters/stylelint/.stylelintrc.json",
"stylelint.validate": ["css", "less", "postcss", "scss"],
"stylelint.snippet": ["css", "less", "postcss", "scss"],
"prettier.configPath": ".github/configurations/node_linters/prettier/.prettierrc.js",
"editor.semanticHighlighting.enabled": true,
"eslint.format.enable": true,
"eslint.workingDirectories": ["./", "./functions"],
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[javascriptreact]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[javascript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
}
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"editor.formatOnSave": true,
"editor.semanticHighlighting.enabled": true,
"eslint.options": {
"overrideConfigFile": ".github/configurations/node_linters/eslint/eslint.config.mjs"
},
"stylelint.configFile": ".github/configurations/node_linters/.stylelintrc.json",
"prettier.configPath": ".github/configurations/node_linters/prettier/.prettierrc.js",
}
```
36 changes: 36 additions & 0 deletions .github/configurations/node_linters/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
import js from '@eslint/js';
import pluginJest from 'eslint-plugin-jest';
import globals from 'globals';
import { defineConfig, globalIgnores } from 'eslint/config';
import nextVitals from 'eslint-config-next/core-web-vitals';
*/
// Need require relative to the cwd
import path from 'path';
import { createRequire } from 'module';
const requireFromCwd = createRequire(path.resolve(process.cwd(), 'package.json'));
const { defineConfig, globalIgnores } = requireFromCwd('eslint/config');
const js = requireFromCwd('@eslint/js');
const pluginJest = requireFromCwd('eslint-plugin-jest');
const globals = requireFromCwd('globals');
const nextVitals = requireFromCwd('eslint-config-next/core-web-vitals');

export default defineConfig([
globalIgnores(['node_modules/**', '.next/**', 'out/**', 'build/**', 'next-env.d.ts', 'public/sw.js']),
...nextVitals.map((config) => ({
...config,
files: ['app/**/*.{js,mjs,cjs,jsx}'], // Specific for next app
})),
{
files: ['**/*.{js,mjs,cjs,jsx}'], // For all files
plugins: { js },
extends: ['js/recommended'],
languageOptions: { globals: globals.node },
}, {
files: ['**/*.spec.js', '**/*.test.js'],
plugins: { jest: pluginJest },
languageOptions: {
globals: pluginJest.environments.globals.globals,
},
},
]);
24 changes: 0 additions & 24 deletions .github/configurations/node_linters/eslint/.eslintrc.json

This file was deleted.

1 change: 0 additions & 1 deletion .github/configurations/node_linters/eslint/.gitignore

This file was deleted.

This file was deleted.

This file was deleted.

Loading
Loading