Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
2b5f14c
Require Hello World in the document
acbart Jan 31, 2022
a7dee05
Rename text.Test.tsx to text.test.tsx
acbart Jan 31, 2022
3e381f3
Include the task info
acbart Jan 31, 2022
fee03d3
Merge branch 'task-first-branch' of https://github.com/UD-CISC275-S22…
acbart Jan 31, 2022
986b28a
First stab at questions
acbart Feb 2, 2022
e6b1dab
Allow one or more instances of the Hello World text
acbart Feb 3, 2022
2c852d6
Move Question interface to separate file
acbart Feb 6, 2022
dc3662a
Create answer interface
acbart Feb 8, 2022
51221ee
First stab at nested tasks
acbart Feb 8, 2022
3a793cc
Document Question interface
acbart Feb 9, 2022
5c39a97
Expand questions test data
acbart Feb 9, 2022
6ae0b6f
Add a little hint for a tough one
acbart Feb 9, 2022
b1bbbc8
Nested tests (phew)
acbart Feb 9, 2022
ab9bfb5
Basic starter files for components
acbart Feb 9, 2022
9765863
Another extra paren error
acbart Feb 9, 2022
d6c10cd
Merge branch 'main' of https://github.com/UD-CISC275-S22/react-typesc…
acbart Feb 13, 2022
c0bbc39
Updated, complete tests for all state components
acbart Feb 13, 2022
eb40f3e
Forgot task record for state
acbart Feb 19, 2022
6669ffa
First draft of components subtasks
acbart Feb 19, 2022
562f306
Another subtask, ChooseTeam
acbart Feb 24, 2022
4a34f5f
Oops order out of operations
acbart Feb 24, 2022
7327f4c
Add headers to each subtask
acbart Feb 24, 2022
cf7c212
Make testing easier for these components
acbart Feb 24, 2022
08feee1
Ugh this component is stupid, let's just forget about it for now
acbart Feb 24, 2022
89053a4
Provide the tests for the bad components
acbart Feb 24, 2022
41387d3
First stab at form task components
acbart Feb 25, 2022
1b03faf
Provide tests, change addQuestion to changeColor
acbart Feb 27, 2022
43b41ec
Fix entering blank text for GiveAttempts
acbart Mar 10, 2022
55f976e
Big 2024 update to starter files and workflow
acbart Aug 20, 2024
646e7c8
Merge pull request #1 from frontend-fun/update-branches
acbart Aug 20, 2024
cb2e43c
Create dist directory at start of worfklow
acbart Aug 20, 2024
db36697
Merge pull request #2 from frontend-fun/update-branches
acbart Aug 20, 2024
8764153
Switch jobs back to steps
acbart Aug 20, 2024
c9aba7f
Merge pull request #3 from frontend-fun/update-branches
acbart Aug 20, 2024
52dc1bb
Update react testing library, don't lint jest
acbart Aug 20, 2024
a00615a
Move build to dist
acbart Aug 20, 2024
268363c
Merge pull request #4 from frontend-fun/update-branches
acbart Aug 20, 2024
1ea25a9
Try to make stupid babel plugin warning go away
acbart Aug 20, 2024
0483016
Merge pull request #5 from frontend-fun/update-branches
acbart Aug 20, 2024
7fc5ad2
Simplify integrity checks
acbart Aug 20, 2024
a68506a
Merge pull request #6 from frontend-fun/update-branches
acbart Aug 20, 2024
dbae426
Needed globstar
acbart Aug 20, 2024
a36ba0c
Merge pull request #7 from frontend-fun/update-branches
acbart Aug 20, 2024
eebe36c
Forget globbing
acbart Aug 20, 2024
bbc42c0
Merge pull request #8 from frontend-fun/update-branches
acbart Aug 20, 2024
fcb81f7
Rename deploy script
acbart Aug 20, 2024
214e285
Merge pull request #9 from frontend-fun/update-branches
acbart Aug 20, 2024
7a20734
Include json test command here
acbart Aug 24, 2024
7fe9ca3
Require Hello World in the document
acbart Jan 31, 2022
b8b8878
Include the task info
acbart Jan 31, 2022
fbdebde
Rename text.Test.tsx to text.test.tsx
acbart Jan 31, 2022
2f0146c
Allow one or more instances of the Hello World text
acbart Feb 3, 2022
a6acb43
Merge branch 'task-first-branch' of https://github.com/frontend-fun/t…
acbart Aug 24, 2024
83c4461
Basic functions tests and stubs
acbart Jan 30, 2022
a486530
Fix test organization
acbart Jan 30, 2022
9722564
Fix issue in fahrenheit conversion
acbart Jan 30, 2022
bd06d5d
Move around some of the functions
acbart Feb 3, 2022
4cd1900
Explain what the actual functions require you to do
acbart Feb 3, 2022
cf1d21a
Update formatting
acbart Aug 24, 2024
e11693a
Add in points
acbart Aug 24, 2024
7cc4e3f
First stab at array problems
acbart Feb 1, 2022
f253337
Add in the rest of the tests
acbart Feb 1, 2022
b8777b1
Fix question text
acbart Feb 1, 2022
f87771e
Update arrays.test.ts
acbart Feb 11, 2022
f0d316b
Add in points
acbart Aug 24, 2024
c2e556d
First stab at questions
acbart Feb 2, 2022
406ffb2
Move Question interface to separate file
acbart Feb 6, 2022
9b9adb6
Fix formatting
acbart Aug 24, 2024
3660252
First stab at questions
acbart Feb 2, 2022
09d3d4f
Move Question interface to separate file
acbart Feb 6, 2022
9a24024
Create answer interface
acbart Feb 8, 2022
879fe17
First stab at nested tasks
acbart Feb 8, 2022
4d29d21
Document Question interface
acbart Feb 9, 2022
d71d9fc
Expand questions test data
acbart Feb 9, 2022
c955718
Add a little hint for a tough one
acbart Feb 9, 2022
c574699
Nested tests (phew)
acbart Feb 9, 2022
a368ad0
Forgot the task record!
acbart Feb 19, 2022
304184e
Fix typo in editOption test, and missing return type for editOption
acbart Mar 1, 2022
1b76b80
Fix formatting
acbart Aug 24, 2024
23314f3
update point values for tests
acbart Aug 24, 2024
82faacc
Fix react return value
acbart Aug 24, 2024
cc7d4db
Update react tests to use async
acbart Aug 24, 2024
c419dc9
Fix linting
acbart Aug 24, 2024
444b03b
Merge branch 'task-state' into task-components
acbart Aug 24, 2024
c1aab28
Merge branch 'update-branches' into task-components
acbart Aug 24, 2024
50a9c85
Update for new react
acbart Aug 24, 2024
28ee8d2
Merge branch 'task-components' into task-forms
acbart Aug 24, 2024
084abb4
Update the code for new version of react
acbart Aug 24, 2024
c95dc0f
This one too
acbart Aug 24, 2024
3119c0f
Add in points
acbart Aug 24, 2024
5c6591e
Upgrade upload-pages-artifact action to v3
acbart Aug 28, 2025
42b33db
Update GitHub Actions workflow for deployment
acbart Aug 28, 2025
94ddfb2
Added name to App
hardhik06 Feb 6, 2026
ff857b0
Added hello world
hardhik06 Feb 11, 2026
9b9bb95
Fixing name
hardhik06 Feb 11, 2026
9cb1b85
Add Hello World text
hardhik06 Feb 11, 2026
791fe8b
Add HTML/CSS task and tests
hardhik06 Feb 13, 2026
98eefd5
Update App layout/styles for HTML/CSS task
hardhik06 Feb 13, 2026
ece1614
Completed basic functions
hardhik06 Feb 18, 2026
ef63878
Merge remote-tracking branch 'upstream/task-arrays' into solved-arrays
hardhik06 Feb 18, 2026
87d93a8
finished arrays
hardhik06 Feb 18, 2026
9a78c75
fixed an error
hardhik06 Feb 18, 2026
3a37254
Merge remote-tracking branch 'upstream/task-objects' into solved-objects
hardhik06 Feb 24, 2026
6282954
Finish question functions implementation
hardhik06 Feb 24, 2026
d24db70
Fixed linter error
hardhik06 Feb 24, 2026
1a18903
Fixing linter error
hardhik06 Feb 24, 2026
9da6496
fixing merge error
hardhik06 Mar 3, 2026
926c7e7
finished nested questions
hardhik06 Mar 4, 2026
13849c6
Merge remote-tracking branch 'upstream/task-state' into solved-state
hardhik06 Mar 4, 2026
e75f980
Merge upstream task-state into solved-state
hardhik06 Mar 4, 2026
bead110
Completed state activity
hardhik06 Mar 4, 2026
bfd4532
fixed an error
hardhik06 Mar 4, 2026
0b7d521
finished errors
hardhik06 Mar 4, 2026
ebf272d
fixing errors
hardhik06 Mar 4, 2026
73a36cd
fixed error
hardhik06 Mar 4, 2026
b1c03bf
solved state errors
hardhik06 Mar 5, 2026
f4e1142
Found issue, was on the wrong branch
hardhik06 Mar 5, 2026
e20337c
resolve merge conflicts
hardhik06 Mar 9, 2026
2ea7ae9
Fixed bad comments
hardhik06 Mar 9, 2026
1d075af
resolved App.tsx merge conflict
hardhik06 Mar 18, 2026
bdb13dc
Completed forms assignment
hardhik06 Mar 18, 2026
6b7c306
Completed forms assignment
hardhik06 Mar 18, 2026
33fc6b2
Merge solved-components into main
hardhik06 Mar 18, 2026
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
Binary file added .DS_Store
Binary file not shown.
18 changes: 18 additions & 0 deletions .eslintoutputrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"files": [
"."
],
"formats": [
{
"name": "stylish",
"output": "console"
},
{
"name": "html",
"output": "file",
"path": "dist/lint.html",
"id": "html"
}
],
"eslintConfig": {}
}
99 changes: 99 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
module.exports = {
env: {
es2022: true,
node: true,
browser: true,
},
settings: {
react: {
version: "detect",
},
},
extends: [
"eslint:recommended",
"plugin:react/recommended",
"plugin:react-hooks/recommended",
],
root: true,
parser: "@typescript-eslint/parser",
plugins: ["@typescript-eslint", "react"],
overrides: [
{
files: ["src/**/*.test.ts", "src/**/*.test.tsx"],
env: {
jest: true,
},
},
],
parserOptions: {
ecmaVersion: 12,
sourceType: "module",
ecmaFeatures: {
jsx: true,
},
project: ["./tsconfig.json"],
},
ignorePatterns: [".eslintrc.js", "jest.config.js"],
rules: {
// https://stackoverflow.com/questions/57802057/eslint-configuring-no-unused-vars-for-typescript
// Use typescript's checker for unused vars (critical for Enums)
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": ["error"],
// https://typescript-eslint.io/rules/no-use-before-define
"no-use-before-define": "off",
"@typescript-eslint/no-use-before-define": "error",

// https://typescript-eslint.io/rules/ban-ts-comment
// Disallow @ts-<directive> comments or require descriptions after directives.
"@typescript-eslint/ban-ts-comment": "error",

// https://typescript-eslint.io/rules/no-explicit-any
// Disallow the any type.
//"@typescript-eslint/no-explicit-any": "error",

// https://typescript-eslint.io/rules/no-unsafe-assignment
// Disallow assigning a value with type any to variables and properties.
"@typescript-eslint/no-unsafe-assignment": "error",

// https://typescript-eslint.io/rules/no-unsafe-return
// Disallow returning a value with type any from a function.
"@typescript-eslint/no-unsafe-return": "error",

// https://typescript-eslint.io/rules/ban-types
// Disallow certain types.
"@typescript-eslint/no-restricted-types": [
"error",
{
types: {
unknown:
"That is not allowed in this course. You should be able to specify the type more clearly!",
any: "That is not allowed in this course. You should be able to figure out the type!",
},
},
],
// https://typescript-eslint.io/rules/no-array-constructor
// Disallow generic Array constructors.
"no-array-constructor": "off",
"@typescript-eslint/no-array-constructor": "error",

// https://typescript-eslint.io/rules/no-base-to-string
// Require .toString() to only be called on objects which provide useful information when stringified.
"@typescript-eslint/no-base-to-string": "error",

// https://typescript-eslint.io/rules/no-confusing-void-expression
// Require expressions of type void to appear in statement position.
"@typescript-eslint/no-confusing-void-expression": "error",

// https://typescript-eslint.io/rules/no-for-in-array
// Disallow iterating over an array with a for-in loop. (Force for-of instead!)
"@typescript-eslint/no-for-in-array": "error",

// https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare
// Disallow unnecessary equality comparisons against boolean literals.
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",

// https://typescript-eslint.io/rules/no-unnecessary-condition
// Disallow conditionals where the type is always truthy or always falsy.
"@typescript-eslint/no-unnecessary-condition": "error",
},
};
3 changes: 2 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@
{
"nestedBinaryExpressions": false,
"returnAssign": false,
"enforceForArrowConditionals": false
"enforceForArrowConditionals": false,
"ignoreJSX": "all"
}
],
"brace-style": ["error", "1tbs"],
Expand Down
154 changes: 154 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
# Workflow for publishing the students' website along with additional helpful information

name: Deploy main branch as website

on:
push:
branches: [main]
workflow_dispatch:

# Required permissions for Pages v4 + artifact v4
permissions:
actions: read # NEW: required by deploy-pages@v4
contents: read
pages: write
id-token: write

# Only one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
deploy:
runs-on: ubuntu-latest

# Recommended for Pages so the URL shows on the run summary
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: 20
cache: "npm"

- id: get-repo-values
name: Get repository values
run: |
url=https://$(echo "${{ github.repository }}" | sed "s/\//.github.io\//")
echo "url=$url" >> $GITHUB_OUTPUT

- name: Update package.json homepage
uses: jossef/action-set-json-field@v1
with:
file: package.json
field: homepage
value: ${{ steps.get-repo-values.outputs.url }}

# create_redirects
- name: Create Redirects and Links
id: create_redirects
run: |
mkdir -p dist
echo "<html><head>\
<meta http-equiv='refresh' content='0; URL=${{github.server_url}}/${{github.repository}}' />\
</head><body>Redirecting to repository</body></html>" > ./dist/repo.html
mkdir -p docs
cp README.md docs/index.md
echo "# Quick Links" > docs/quick-links.md
echo "* [Repository](../repo.html)" >> docs/quick-links.md
echo "<html><head>\
<meta http-equiv='refresh' content='0; URL=docs/quick-links' />\
</head><body>Redirecting to quick links page</body></html>" > ./dist/quick.html

# Install node packages
- name: Install
id: install
run: |
echo "<html><body><pre>" > ./dist/installation.html
npm ci |& tee -a ./dist/installation.html
echo "</pre></body></html>" >> ./dist/installation.html
echo "* [Installation](../installation.html)" >> docs/quick-links.md

# Run linter (ensure your script writes dist/lint.html)
- name: Run Linter
id: lint
run: |
npm run eslint-output
echo "* [Linter](../lint.html)" >> docs/quick-links.md

# Build the project
- name: Build the project
id: build
run: |
echo "<html><body><pre>" > ./dist/build.html
npm run build |& tee -a ./dist/build.html
mv ./build/* ./dist
echo "</pre></body></html>" >> ./dist/build.html
echo "* [Build](../build.html)" >> docs/quick-links.md

# Run Tests
- name: Run Tests
id: test
run: |
echo "<html><body><pre>" > ./dist/tests.html
npm test -- --coverage |& tee -a ./dist/tests.html
echo "</pre></body></html>" >> ./dist/tests.html
echo "* [Tests](../tests.html)" >> docs/quick-links.md

# Verify Integrity
- name: Verify Integrity
if: ${{ !cancelled() }}
id: integrity
run: |
echo "<html><body><pre>" > ./dist/integrity.html
find src -type f -name "*.test.ts" -exec md5sum {} + >> ./dist/integrity.html
find src -type f -name "*.test.tsx" -exec md5sum {} + >> ./dist/integrity.html
md5sum .eslintrc.js >> ./dist/integrity.html
md5sum jest.config.js >> ./dist/integrity.html
md5sum tsconfig.json >> ./dist/integrity.html
md5sum .github/workflows/deploy.yml >> ./dist/integrity.html
echo "</pre></body></html>" >> ./dist/integrity.html
echo "* [Integrity](../integrity.html)" >> docs/quick-links.md

# Create GitInspector Report
- name: Create GitInspector Report
if: ${{ !cancelled() }}
id: gitinspector
run: |
git clone https://github.com/jpwhite3/gitinspector.git
python ./gitinspector/gitinspector.py ./ --grading --format=html -f tsx,ts,html,css -x ./gitinspector -x ./node_modules -x ./wbcore > ./dist/git.html
echo "* [Git Inspector](../git.html)" >> docs/quick-links.md

# Generate HTML from Markdown in Docs/
- name: Generate HTML from Markdown in Docs/
if: ${{ !cancelled() }}
id: markdown-docs
uses: ldeluigi/markdown-docs@latest
with:
src: docs
dst: dist/docs/

# Pages
- name: Setup Pages
if: ${{ !cancelled() }}
uses: actions/configure-pages@v5

- name: Upload artifact (for Pages)
if: ${{ !cancelled() }}
uses: actions/upload-pages-artifact@v4
with:
path: "dist/"

- name: Deploy to GitHub Pages
if: ${{ !cancelled() }}
id: deployment
uses: actions/deploy-pages@v4
52 changes: 0 additions & 52 deletions .github/workflows/node.js.yml

This file was deleted.

Loading