Skip to content

Commit 2559927

Browse files
committed
Merge branch 'mergeBranch' into noah/feature
2 parents aa558be + 595de9c commit 2559927

File tree

167 files changed

+10142
-15992
lines changed

Some content is hidden

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

167 files changed

+10142
-15992
lines changed

.dockerignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
node_modules
2-
app/electron

.eslintrc.json

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,46 @@
11
{
22
"extends": ["plugin:react/recommended", "plugin:@typescript-eslint/recommended", "airbnb-base"],
33
"parserOptions": {
4+
"ecmaVersion": 2024,
5+
"sourceType": "module",
46
"ecmaFeatures": {
57
"jsx": true
8+
}
9+
},
10+
"plugins": ["@typescript-eslint", "import", "react", "jsx-a11y"],
11+
"settings": {
12+
"react": {
13+
"version": "detect"
614
},
7-
"ecmaVersion": 2018,
8-
"sourceType": "module"
15+
"import/resolver": {
16+
"typescript": {
17+
"alwaysTryTypes": true // This will help ESLint resolve `.ts` and `.tsx` files
18+
}
19+
}
920
},
10-
"plugins": ["import", "react", "jest", "jsx-a11y", "babel"],
11-
"parser": "@babel/eslint-parser",
21+
"parser": "@typescript-eslint/parser",
1222
"env": {
1323
"browser": true,
1424
"node": true,
15-
"es6": true,
16-
"jest": true
25+
"es6": true
1726
},
1827
"rules": {
1928
"class-methods-use-this": "off",
20-
"linebreak-style": 0
29+
"linebreak-style": 0,
30+
"@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }],
31+
"no-unused-vars": "off", // disable the base rule, use the TypeScript version
32+
"no-console": "off", // "warn": ensure that debugging statements are not left in the final version of the code; "off": disabled
33+
"prefer-const": "warn", // enforces that variables that are never reassigned should be declared as const
34+
"no-undef": "warn", // catch references to variables that have not been declared
35+
"import/no-extraneous-dependencies": "off", // turns off the import/no-extraneous-dependencies rule
36+
"@typescript-eslint/no-explicit-any": "off", // turns off the no-explicit-any rule
37+
"import/extensions": [
38+
"error",
39+
"ignorePackages",
40+
{
41+
"ts": "never",
42+
"tsx": "never"
43+
}
44+
]
2145
}
2246
}

CHANGE_LOG.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,24 @@
33
<h1 align="center">ReacType Change Log</h1>
44
</p>
55

6+
## Version 22.0.0 Changes
7+
8+
### Potential Changes:
9+
10+
- Export code does not actually build what it says it does - Bug fix: tags which are nested do not display accurate code in code preview
11+
- Delete all electron-related files and dependencies
12+
- Delete all webpack-related files and dependencies
13+
- Fully retire jest tests
14+
- Complete Vitest testing suite
15+
- Adding link for creation panel to reusable components tab
16+
- Make bottom panel only display context-relevant tabs
17+
- Moving chat link from bottom panel to upper right (would this require making it into a pop up?)
18+
- Migrate more state pieces into redux store??
19+
- Decluttering by adding right click and hover functionality
20+
- Move elements of tutorial into hover functionality
21+
- Get OAuth fully functional
22+
- Add built-in component templates to the marketplace
23+
624
## Version 21.0.0 Changes
725

826
### Changes:
@@ -23,7 +41,7 @@
2341
- **Bugs Fixed:**
2442
- Forgotten Password - Forgotten Password page now properly renders and enables a user to reset their password
2543
- Customization Panel - Fixed numerous rendering issues to establish consistent performance and UI layout
26-
- Tutorial Page - Fixed Link / Re-Route to Tutorial
44+
- Tutorial Page - Fixed Link / Re-Route to Tutorial
2745

2846
### Recommendations for Future Enhancements:
2947

__tests__/BottomTabs.test.tsx

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,25 @@
11
// @vitest-environment jsdom
2-
32
import { describe, it, expect } from 'vitest';
43
import {
54
fireEvent,
65
render,
76
screen,
87
waitFor,
9-
within
8+
within,
109
} from '@testing-library/react';
1110

12-
import BottomTabs from '../app/src/components/bottom/BottomTabs';
1311
import { BrowserRouter } from 'react-router-dom';
12+
import { DndProvider } from 'react-dnd';
13+
import { HTML5Backend } from 'react-dnd-html5-backend';
14+
import { Provider } from 'react-redux';
15+
import React from 'react';
16+
import BottomTabs from '../app/src/components/bottom/BottomTabs';
1417
import ComponentPanel from '../app/src/components/right/ComponentPanel';
1518
import ContextManager from '../app/src/components/ContextAPIManager/ContextManager';
1619
import CustomizationPanel from '../app/src/containers/CustomizationPanel';
17-
import { DndProvider } from 'react-dnd';
1820
import DragDropPanel from '../app/src/components/left/DragDropPanel';
19-
import { HTML5Backend } from 'react-dnd-html5-backend';
2021
import HTMLPanel from '../app/src/components/left/HTMLPanel';
2122
import MainContainer from '../app/src/containers/MainContainer';
22-
import { Provider } from 'react-redux';
23-
import React from 'react';
2423
import StateManager from '../app/src/components/StateManagement/StateManagement';
2524
import store from '../app/src/redux/store';
2625

@@ -29,7 +28,7 @@ describe('Bottom Panel Render test', () => {
2928
const { unmount } = render(
3029
<Provider store={store}>
3130
<BottomTabs />
32-
</Provider>
31+
</Provider>,
3332
);
3433
expect(screen.getAllByRole('tab')).toHaveLength(7);
3534
expect(screen.getByText('Component Tree')).toBeDefined();
@@ -47,7 +46,7 @@ describe('Creation Panel', () => {
4746
const { unmount } = render(
4847
<Provider store={store}>
4948
<ComponentPanel isThemeLight={null} />
50-
</Provider>
49+
</Provider>,
5150
);
5251

5352
fireEvent.click(screen.getByText('Create'));
@@ -62,20 +61,20 @@ describe('Creation Panel', () => {
6261
const { unmount } = render(
6362
<Provider store={store}>
6463
<ComponentPanel isThemeLight={null} />
65-
</Provider>
64+
</Provider>,
6665
);
6766

6867
fireEvent.change(screen.getByLabelText('Name'), {
6968
target: {
70-
value: '!@#'
71-
}
69+
value: '!@#',
70+
},
7271
});
7372

7473
fireEvent.click(screen.getByText('Create'));
7574

7675
await waitFor(() => {
7776
expect(
78-
screen.getByText('Component name must start with a letter.')
77+
screen.getByText('Component name must start with a letter.'),
7978
).toBeDefined();
8079
});
8180
unmount();
@@ -87,7 +86,7 @@ describe('HTML Panel', () => {
8786
const { unmount } = render(
8887
<Provider store={store}>
8988
<HTMLPanel isThemeLight={null} />
90-
</Provider>
89+
</Provider>,
9190
);
9291

9392
fireEvent.click(screen.getByText('Add Element'));
@@ -102,26 +101,26 @@ describe('HTML Panel', () => {
102101
const { unmount } = render(
103102
<Provider store={store}>
104103
<HTMLPanel isThemeLight={null} />
105-
</Provider>
104+
</Provider>,
106105
);
107106

108107
fireEvent.change(screen.getByLabelText('Element Name'), {
109108
target: {
110-
value: '!@#'
111-
}
109+
value: '!@#',
110+
},
112111
});
113112

114113
fireEvent.change(screen.getByLabelText('Tag'), {
115114
target: {
116-
value: '!@#'
117-
}
115+
value: '!@#',
116+
},
118117
});
119118

120119
fireEvent.click(screen.getByText('Add Element'));
121120

122121
await waitFor(() => {
123122
expect(
124-
screen.getAllByText('* Input must start with a letter. *')
123+
screen.getAllByText('* Input must start with a letter. *'),
125124
).toHaveLength(2);
126125
});
127126
unmount();
@@ -133,7 +132,7 @@ describe('Context Manager', () => {
133132
const { unmount } = render(
134133
<Provider store={store}>
135134
<ContextManager />
136-
</Provider>
135+
</Provider>,
137136
);
138137
expect(screen.getAllByRole('tab')).toHaveLength(3);
139138
unmount();
@@ -142,7 +141,7 @@ describe('Context Manager', () => {
142141
const { unmount } = render(
143142
<Provider store={store}>
144143
<ContextManager />
145-
</Provider>
144+
</Provider>,
146145
);
147146
expect(screen.getAllByRole('textbox')).toHaveLength(3);
148147
expect(screen.getAllByRole('button')).toHaveLength(3);
@@ -154,7 +153,7 @@ describe('Context Manager', () => {
154153
const { unmount } = render(
155154
<Provider store={store}>
156155
<ContextManager />
157-
</Provider>
156+
</Provider>,
158157
);
159158

160159
fireEvent.click(screen.getByText('Assign'));
@@ -173,7 +172,7 @@ describe('State Manager', () => {
173172
const { unmount } = render(
174173
<Provider store={store}>
175174
<StateManager isThemeLight={null} />
176-
</Provider>
175+
</Provider>,
177176
);
178177
expect(screen.getAllByRole('heading')).toHaveLength(4);
179178
expect(screen.getAllByRole('textbox')).toHaveLength(2);
@@ -186,12 +185,12 @@ describe('State Manager', () => {
186185
const { unmount } = render(
187186
<Provider store={store}>
188187
<StateManager isThemeLight={null} />
189-
</Provider>
188+
</Provider>,
190189
);
191190
fireEvent.click(screen.getByText('Display'));
192191
expect(screen.getByRole('table')).toBeDefined();
193192
expect(
194-
screen.getByText('State Initialized in Current Component:')
193+
screen.getByText('State Initialized in Current Component:'),
195194
).toBeDefined();
196195
unmount();
197196
});
@@ -204,14 +203,14 @@ describe('Customization Panel', () => {
204203
<BrowserRouter>
205204
<CustomizationPanel isThemeLight={true} />
206205
</BrowserRouter>
207-
</Provider>
206+
</Provider>,
208207
);
209208
expect(screen.getByText('Parent Component:')).toBeDefined();
210209
expect(screen.getByText('App')).toBeDefined();
211210
expect(
212211
screen.getByText(
213-
'Drag or click an html element to the canvas to see what happens!'
214-
)
212+
'Drag or click an html element to the canvas to see what happens!',
213+
),
215214
).toBeDefined();
216215
unmount();
217216
});
@@ -228,7 +227,7 @@ describe('Canvas', () => {
228227
<CustomizationPanel isThemeLight={true} />
229228
</DndProvider>
230229
</BrowserRouter>
231-
</Provider>
230+
</Provider>,
232231
);
233232
const drop = screen.getByTestId('drop');
234233
const div = screen.getAllByText('Div')[0];
@@ -238,7 +237,7 @@ describe('Canvas', () => {
238237
fireEvent.dragEnter(drop);
239238
fireEvent.dragOver(drop);
240239
fireEvent.drop(drop);
241-
//check if customization panel elements are rendering correctly
240+
// check if customization panel elements are rendering correctly
242241
const panel = screen.getAllByTestId('customization')[0];
243242
expect(within(panel).getAllByRole('textbox')).toHaveLength(4);
244243
// check dropdowns

__tests__/contextReducer.test.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import {
2-
describe, it, expect, beforeEach,
3-
} from 'vitest';
1+
import { describe, it, expect, beforeEach } from 'vitest';
42
import subject from '../app/src/redux/reducers/slice/contextReducer.ts';
53

64
describe('contextReducer test', () => {

0 commit comments

Comments
 (0)