Skip to content

Commit a53f148

Browse files
Ma-Goldenfeguare
andauthored
Ci cd improvements (#35)
* Added eslint config file * Formatted prettier for Airbnb * Removed updateip.bat from previous commit * automatic linting setup * Frontend Linting * for merge * Initial Refactoring. Unused vars, styles still to do * Just 'styles' and console/alerts left * last non style/console changes * Refarctored styling * fixed find route copy * fix workflow file * setServerResponse fix and key duplication fix * Minor fixes --------- Co-authored-by: FEguare <123463013+FEguare@users.noreply.github.com>
1 parent b613c23 commit a53f148

62 files changed

Lines changed: 13254 additions & 11796 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/backend-ci.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ jobs:
1717
name: Lint Python Code (PEP8)
1818
runs-on: ubuntu-latest
1919

20+
defaults:
21+
run:
22+
working-directory: ./server
23+
2024
steps:
2125
- name: Checkout repository
2226
uses: actions/checkout@v4
@@ -28,17 +32,17 @@ jobs:
2832

2933
- name: Install dependencies
3034
run: |
31-
cd server
3235
python -m pip install --upgrade pip
3336
pip install flake8 black
34-
- name: Run Black (Formatting Check)
37+
38+
- name: Run Black (Auto Formatting)
3539
run: |
36-
cd server
37-
black --check --diff src/ tests/
40+
black src/ tests/
41+
3842
- name: Run flake8 (Linting)
3943
run: |
40-
cd server
4144
flake8 src/ tests/
45+
4246
test:
4347
name: Run Backend Tests
4448
runs-on: ubuntu-latest

.github/workflows/frontend-ci.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,32 @@ permissions:
1010
contents: read
1111

1212
jobs:
13+
lint:
14+
name: Run Linting (ESLint & Prettier)
15+
runs-on: ubuntu-latest
16+
17+
defaults:
18+
run:
19+
working-directory: ./client # Removes need for cd client when running linting
20+
21+
steps:
22+
- name: Checkout repository
23+
uses: actions/checkout@v3
24+
25+
- name: Set up Node.js
26+
uses: actions/setup-node@v4
27+
with:
28+
node-version: '20'
29+
30+
- name: Install dependencies
31+
run: |
32+
npm install
33+
34+
# For code quality, unused vars etc.
35+
- name: Run ESLint
36+
run: |
37+
npm run lint
38+
1339
test:
1440
name: Run Frontend Tests (Jest)
1541
runs-on: ubuntu-latest

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,7 @@
44
],
55
"python.testing.unittestEnabled": false,
66
"python.testing.pytestEnabled": true,
7+
"[javascript]": {
8+
"editor.tabSize": 2
9+
}
710
}

client/.eslintrc.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
module.exports = {
2+
root: true,
3+
extends: ['airbnb', 'airbnb/hooks', 'prettier'],
4+
plugins: ['react', 'react-hooks', 'import', 'jsx-a11y', 'prettier'],
5+
parserOptions: {
6+
ecmaVersion: 2021,
7+
sourceType: 'module',
8+
ecmaFeatures: {
9+
jsx: true,
10+
},
11+
},
12+
env: {
13+
browser: true,
14+
es6: true,
15+
node: true,
16+
jest: true,
17+
},
18+
rules: {
19+
'prettier/prettier': ['error', { endOfLine: 'auto' }],
20+
'react/react-in-jsx-scope': 'off', // Not needed for React Native
21+
'import/no-extraneous-dependencies': 'off',
22+
'react/jsx-filename-extension': [
23+
1,
24+
{ extensions: ['.js', '.jsx', '.tsx'] },
25+
],
26+
'react/prop-types': 'off',
27+
'no-console': ['warn', { allow: ['warn', 'error'] }],
28+
},
29+
};

client/.prettierignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
node_modules
2+
__mocks__
3+
expo
4+
coverage
5+
*.env
6+
package-lock.json
7+
package.json
8+
*.md
9+
*.bat

client/.prettierrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"singleQuote": true,
3+
"trailingComma": "all",
4+
"semi": true
5+
}

client/App.js

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,43 @@
11
import React from 'react';
22
import { createNativeStackNavigator } from '@react-navigation/native-stack';
33
import { NavigationContainer } from '@react-navigation/native';
4-
import LoginScreen from './LogIn';
5-
import MapScreen from './Map';
6-
import WeatherScreen from './Weather';
7-
import FindRouteScreen from './FindRoute';
8-
import SelectRouteScreen from './SelectRoute';
9-
import Dashboard from './SustainabilityDashboard'
10-
import PreferencesScreen from './Preferences'
11-
import AccountScreen from './AccountScreen';
12-
import SignUpScreen from './SignUp';
13-
import DisplayRouteScreen from './DisplayRoute';
14-
import FriendsScreen from './FriendsScreen'
4+
import LoginScreen from './src/LogIn';
5+
import MapScreen from './src/Map';
6+
import WeatherScreen from './src/Weather';
7+
import FindRouteScreen from './src/FindRoute';
8+
import SelectRouteScreen from './src/SelectRoute';
9+
import Dashboard from './src/SustainabilityDashboard';
10+
import PreferencesScreen from './src/Preferences';
11+
import AccountScreen from './src/AccountScreen';
12+
import SignUpScreen from './src/SignUp';
13+
import DisplayRouteScreen from './src/DisplayRoute';
14+
import FriendsScreen from './src/FriendsScreen';
1515

1616
const Stack = createNativeStackNavigator();
1717

1818
export default function App() {
1919
return (
2020
<NavigationContainer>
2121
<Stack.Navigator initialRouteName="AccountScreen">
22-
<Stack.Screen options={{headerBackVisible:false}} name="Map" component={MapScreen} />
23-
<Stack.Screen options={{headerBackVisible:false}} name="AccountScreen" component={AccountScreen} />
22+
<Stack.Screen
23+
options={{ headerBackVisible: false }}
24+
name="Map"
25+
component={MapScreen}
26+
/>
27+
<Stack.Screen
28+
options={{ headerBackVisible: false }}
29+
name="AccountScreen"
30+
component={AccountScreen}
31+
/>
2432
<Stack.Screen name="LoginScreen" component={LoginScreen} />
2533
<Stack.Screen name="SignUpScreen" component={SignUpScreen} />
2634
<Stack.Screen name="WeatherScreen" component={WeatherScreen} />
2735
<Stack.Screen name="FindRouteScreen" component={FindRouteScreen} />
2836
<Stack.Screen name="SelectRouteScreen" component={SelectRouteScreen} />
29-
<Stack.Screen name="DisplayRouteScreen" component={DisplayRouteScreen} />
37+
<Stack.Screen
38+
name="DisplayRouteScreen"
39+
component={DisplayRouteScreen}
40+
/>
3041
<Stack.Screen name="Dashboard" component={Dashboard} />
3142
<Stack.Screen name="PreferencesScreen" component={PreferencesScreen} />
3243
<Stack.Screen name="FriendsScreen" component={FriendsScreen} />

client/DisplayRoute.js

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

0 commit comments

Comments
 (0)