Skip to content

Commit 9859866

Browse files
authored
Merge pull request #110 from rollbar/matux/eslint-prettier-config
Standardize eslint and prettier for the entire project with ci checks
2 parents 676689b + 9c2f5c5 commit 9859866

13 files changed

Lines changed: 179 additions & 30 deletions

File tree

.eslintignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.github
2+
.next
3+
build
4+
bundles
5+
coverage
6+
dist
7+
lib
8+
node_modules
9+
out
10+
public

.github/workflows/ci.yaml

Lines changed: 44 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,57 @@
1-
name: rollbar-react CI
1+
name: ci
22

33
on:
44
push:
5-
branches: [ '**' ]
5+
branches:
6+
- main
67
pull_request:
7-
branches: [ main ]
8+
branches:
9+
- main
810

911
jobs:
1012
build:
11-
1213
runs-on: ubuntu-latest
1314

1415
strategy:
1516
matrix:
16-
node-version: [14.x]
17+
node: [14, 16, 18, 20]
1718

1819
steps:
19-
- uses: actions/checkout@v2
20-
21-
- name: Use Node.js ${{ matrix.node-version }}
22-
uses: actions/setup-node@v1
23-
with:
24-
node-version: ${{ matrix.node-version }}
25-
- run: npm install
26-
- run: npm run lint
27-
- run: npm run test
20+
- name: Checkout
21+
uses: actions/checkout@v4
22+
23+
- name: Set up node ${{ matrix.node }}
24+
uses: actions/setup-node@v4
25+
with:
26+
node-version: ${{ matrix.node }}
27+
28+
- name: Cache
29+
uses: actions/cache@v4
30+
with:
31+
path: ~/.npm
32+
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('**/package-lock.json') }}
33+
restore-keys: |
34+
${{ runner.os }}-node-${{ matrix.node }}-
35+
${{ runner.os }}-node-
36+
${{ runner.os }}-
37+
38+
- name: Install library dependencies
39+
run: npm ci
40+
- name: Install examples/create-react-app dependencies
41+
run: cd examples/create-react-app && npm ci
42+
- name: Install examples/nextjs dependencies
43+
run: cd examples/nextjs && npm ci
44+
- name: Install examples/typescript dependencies
45+
run: cd examples/typescript && npm ci
46+
47+
- name: Lint
48+
uses: wearerequired/lint-action@v2
49+
with:
50+
github_token: ${{ secrets.GITHUB_TOKEN }}
51+
prettier: false
52+
eslint: false
53+
eslint_args: '--max-warnings 0'
54+
eslint_extensions: js,jsx,ts,tsx
55+
56+
- name: Test
57+
run: npm run test

.github/workflows/publish.yaml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ jobs:
66
build:
77
runs-on: ubuntu-latest
88
steps:
9-
- uses: actions/checkout@v2
10-
# Setup .npmrc file to publish to GitHub Packages
11-
- uses: actions/setup-node@v2
12-
with:
13-
node-version: '12.x'
14-
registry-url: 'https://registry.npmjs.org'
15-
# Defaults to the user or organization that owns the workflow file
16-
# scope: '@rollbar'
17-
- run: npm install
18-
- run: npm run build
19-
- run: npm publish --access public
20-
env:
21-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
9+
- uses: actions/checkout@v2
10+
# Setup .npmrc file to publish to GitHub Packages
11+
- uses: actions/setup-node@v2
12+
with:
13+
node-version: "14.x"
14+
registry-url: "https://registry.npmjs.org"
15+
# Defaults to the user or organization that owns the workflow file
16+
# scope: '@rollbar'
17+
- run: npm install
18+
- run: npm run build
19+
- run: npm publish --access public
20+
env:
21+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

.prettierignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.github
2+
.next
3+
build
4+
bundles
5+
coverage
6+
dist
7+
lib
8+
node_modules
9+
out
10+
public

.vscode/settings.json

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"[github-actions-workflow]": {
3+
"editor.defaultFormatter": "esbenp.prettier-vscode",
4+
"editor.formatOnSave": true
5+
},
6+
"[javascript]": {
7+
"editor.defaultFormatter": "esbenp.prettier-vscode",
8+
"editor.formatOnSave": true
9+
},
10+
"[javascriptreact]": {
11+
"editor.defaultFormatter": "esbenp.prettier-vscode",
12+
"editor.formatOnSave": true
13+
},
14+
"[json5]": {
15+
"editor.defaultFormatter": "esbenp.prettier-vscode",
16+
"editor.formatOnSave": true
17+
},
18+
"[jsonc]": {
19+
"editor.defaultFormatter": "esbenp.prettier-vscode",
20+
"editor.formatOnSave": true
21+
},
22+
"[typescript]": {
23+
"editor.defaultFormatter": "esbenp.prettier-vscode",
24+
"editor.formatOnSave": true
25+
},
26+
"[typescriptreact]": {
27+
"editor.defaultFormatter": "esbenp.prettier-vscode",
28+
"editor.formatOnSave": true
29+
},
30+
"editor.defaultFormatter": "esbenp.prettier-vscode",
31+
"editor.formatOnSave": true,
32+
"editor.formatOnSaveMode": "file",
33+
"editor.tabSize": 2,
34+
"editor.codeActionsOnSave": {
35+
"source.fixAll.eslint": "explicit"
36+
},
37+
"files.trimTrailingWhitespace": true
38+
}

examples/create-react-app/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"eject": "react-scripts eject"
2222
},
2323
"eslintConfig": {
24+
"root": true,
2425
"extends": [
2526
"react-app",
2627
"react-app/jest"

examples/nextjs/.eslintrc.json

Lines changed: 0 additions & 3 deletions
This file was deleted.

examples/nextjs/babel.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = {}

examples/nextjs/eslint.config.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/** @type {import('eslint').Linter.Config} */
2+
module.exports = {
3+
root: true,
4+
extends: 'next/core-web-vitals',
5+
ignorePatterns: ['node_modules'],
6+
}

examples/nextjs/package-lock.json

Lines changed: 45 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)