Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Miscellaneous Repo Improvements #244

Merged
merged 124 commits into from
Oct 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
061669a
Add typeguards
leeyi45 Sep 5, 2023
5a3decf
Use typeguards with rune module
leeyi45 Sep 5, 2023
d91ed7d
Use typeguards with curve module
leeyi45 Sep 5, 2023
5198b17
Update other modules to have separate JSX components
leeyi45 Sep 5, 2023
685c54f
Update built build scripts
leeyi45 Sep 5, 2023
b507cc5
Add new editor config to enforce CRLF
leeyi45 Sep 5, 2023
9eafcce
Update build scripts
leeyi45 Sep 5, 2023
407725d
Update scripts to work with updated typedoc
leeyi45 Sep 6, 2023
5227c17
Update tsconfigs
leeyi45 Sep 6, 2023
6d8a1fc
Relocate binary_tree documentation
leeyi45 Sep 6, 2023
47fafad
Relocate curve documentation
leeyi45 Sep 6, 2023
92baa9f
Relocate game documentation
leeyi45 Sep 6, 2023
7f72f66
Relocate painter documentation
leeyi45 Sep 6, 2023
92f6318
Relocate pix_n_flix documentation
leeyi45 Sep 6, 2023
2914f65
Update rune documentation
leeyi45 Sep 6, 2023
6b2cc70
Update rune_in_words documentation
leeyi45 Sep 6, 2023
7edab07
Update scabble documentation
leeyi45 Sep 6, 2023
d704939
Update sound documentation
leeyi45 Sep 6, 2023
303f8b8
Update stereo_sound documentation
leeyi45 Sep 6, 2023
89b9dc1
Finish refactoring Sound and StereoSound tab
leeyi45 Sep 6, 2023
b68b907
Readd the missing readme to module docs
leeyi45 Sep 10, 2023
71aa3cc
Remove all script bin files
leeyi45 Sep 10, 2023
49c2339
Add a new management script for building scripts
leeyi45 Sep 10, 2023
057a10f
Update package versions and commands
leeyi45 Sep 10, 2023
d05b606
Make tabs build into default exports
leeyi45 Sep 10, 2023
6128485
Add error handling to animation canvas
leeyi45 Sep 10, 2023
d888f05
Add error guard for non point returning curves
leeyi45 Sep 10, 2023
754c468
Fix animation canvas elements being in the wrong place
leeyi45 Sep 10, 2023
8a8f5a5
Add gitattributes
leeyi45 Sep 10, 2023
225509c
Update multi item canvas to include item selector
leeyi45 Sep 10, 2023
c2ad97d
Update animation canvas to include error handling
leeyi45 Sep 10, 2023
b0d5993
Add error handling to 3d curve animation canvas
leeyi45 Sep 10, 2023
819f4bd
Reformatting curve
leeyi45 Sep 10, 2023
162febd
Update names to follow typical tsx format
leeyi45 Sep 10, 2023
4bdc106
Update import paths for new react components
leeyi45 Sep 10, 2023
07f0482
Relocate logging to be more interactive when linting
leeyi45 Sep 10, 2023
cdd21ee
Add documentation for script manager
leeyi45 Sep 10, 2023
35b7bc9
no message
leeyi45 Sep 10, 2023
80257c4
Merge changes from master
leeyi45 Sep 10, 2023
0ad4d65
Merge remote-tracking branch 'origin/master' into module-externalize
leeyi45 Sep 10, 2023
91e3d1e
Change hardcoded function names in rune
leeyi45 Sep 10, 2023
cbbd350
Fix typo
leeyi45 Sep 10, 2023
1a39f99
Fix some line encoding issue
leeyi45 Sep 10, 2023
e53c37f
Complete merge
leeyi45 Sep 10, 2023
da6ccd1
Merging
leeyi45 Sep 11, 2023
06490c1
Move rune display functions to new file
leeyi45 Sep 11, 2023
c114ff4
Add plugin to prevent context imports
leeyi45 Sep 11, 2023
2bc5ba2
Move running of jest into scripts
leeyi45 Sep 11, 2023
9fe43b4
Change file extension
leeyi45 Sep 11, 2023
291e75c
Add new tests for curve and rune bundles and tabs
leeyi45 Sep 11, 2023
5a82d53
Update typescript eslint
leeyi45 Sep 11, 2023
d4e0faa
Update test
leeyi45 Sep 11, 2023
21bb8e4
Fix formatting
leeyi45 Sep 11, 2023
8c8df64
Merge branch 'module-externalize' of github.com:source-academy/module…
leeyi45 Sep 11, 2023
68b78bb
Change to a common tab type
leeyi45 Sep 11, 2023
e2213b9
Remove unneeded packages
leeyi45 Sep 11, 2023
1e83b80
Fix broken test
leeyi45 Sep 11, 2023
056f2c5
Move scripts:build to postinstall
leeyi45 Sep 11, 2023
e233f29
Fix broken test
leeyi45 Sep 11, 2023
0ac161f
Merge remote-tracking branch 'origin/master' into module-externalize
leeyi45 Sep 12, 2023
0dc2c0d
Reverse the order of husky hooks
leeyi45 Sep 12, 2023
7d12420
Fix broken eslint config
leeyi45 Sep 12, 2023
89afa99
Ran eslint
leeyi45 Sep 12, 2023
d077934
Add more tests to curves bundle
leeyi45 Sep 12, 2023
ebbf240
Merge remote-tracking branch 'origin/master' into module-externalize
leeyi45 Sep 12, 2023
3e9e167
Rename ModalDiv
leeyi45 Sep 12, 2023
b7b8d56
Resolve further merge conflicts
leeyi45 Sep 12, 2023
ecbe030
Fix lint command not linting some files
leeyi45 Sep 12, 2023
b81e65f
Update CI and Jest running code
leeyi45 Sep 12, 2023
b2ec960
Update jest config for modules
leeyi45 Sep 12, 2023
b353ec3
initial commit
leeyi45 Sep 12, 2023
015993a
Dev server MVP
leeyi45 Sep 13, 2023
7936c51
Remove unnecessary styles
leeyi45 Sep 14, 2023
4e115a4
Finish modelling frontend workspace
leeyi45 Sep 14, 2023
fdfa046
Update ace-builds
leeyi45 Sep 14, 2023
e254414
Fix repl bundle circular import
leeyi45 Sep 14, 2023
9e4fd8f
Replace the require directive
leeyi45 Sep 14, 2023
130edf0
Allow modules to properly import context
leeyi45 Sep 14, 2023
78bae3b
Use verbatimModuleSyntax
leeyi45 Sep 14, 2023
696a0cb
Allow devserver to serve modules
leeyi45 Sep 14, 2023
0ee9ca8
Allow dev server to serve manifest
leeyi45 Sep 14, 2023
1649c97
Add missing lodash package
leeyi45 Sep 14, 2023
231aef7
Update packages to match frontend
leeyi45 Sep 16, 2023
6ef8cec
Fix broken module building code
leeyi45 Sep 16, 2023
05762c4
Modify tsconfig to remove tests
leeyi45 Sep 17, 2023
69d39fe
Remove unnecessary console log
leeyi45 Sep 17, 2023
ab87d90
Add color option to CI tests
leeyi45 Sep 17, 2023
7ea5fa6
Update CI to allow jest to use color
leeyi45 Sep 17, 2023
91c69bb
Update packages
leeyi45 Sep 16, 2023
6a0a79c
Modify tsconfig to remove tests
leeyi45 Sep 17, 2023
0515703
Add color option to CI tests
leeyi45 Sep 17, 2023
d343879
Update CI to allow jest to use color
leeyi45 Sep 17, 2023
df84131
Fix broken script commands
leeyi45 Sep 17, 2023
e54e250
Fix incorrect snapshot name
leeyi45 Sep 17, 2023
a3fa1e7
Merge branch 'module-externalize' into dev-server2
leeyi45 Sep 17, 2023
dca07a6
Update linting configuration
leeyi45 Sep 20, 2023
231cd77
Fix options not being passed to Jest properly
leeyi45 Sep 28, 2023
dcb3901
Switch to using ES import for Repl
leeyi45 Sep 29, 2023
c973764
Merge remote-tracking branch 'origin/master' into module-externalize
leeyi45 Sep 29, 2023
074d2cd
Fix paths not working on posix environments
leeyi45 Sep 29, 2023
f5db726
Merge remote-tracking branch 'origin/master' into module-externalize
leeyi45 Oct 2, 2023
4c80f80
Add tests for testing command
leeyi45 Oct 7, 2023
1ad733e
Allow modules to use node style asserts
leeyi45 Oct 7, 2023
1664088
Merge remote-tracking branch 'origin/master' into module-externalize
leeyi45 Oct 14, 2023
324b9dd
Remove moved documentation
RichDom2185 Oct 17, 2023
7556eb0
Add type definitions to function params
RichDom2185 Oct 17, 2023
90e56ec
Change `throwIfNotRune` for rune_in_words
RichDom2185 Oct 17, 2023
f039103
Remove moved documentation
RichDom2185 Oct 17, 2023
6606bbf
Merge commit 'fc7394d858efecf67e4f7d81c30db6dfa6f44456' into module-e…
leeyi45 Oct 18, 2023
33553c8
Temporarily remove lodash and phaser from external packages until the…
leeyi45 Oct 18, 2023
b28c6d6
Fix regression with low resolution heart rune
leeyi45 Oct 18, 2023
ee42582
Resolve merge conflict in unity_academy bundle
leeyi45 Oct 18, 2023
686e380
Merge branch 'master' of https://github.com/source-academy/modules in…
RichDom2185 Oct 19, 2023
adfc23a
Add documentation and fix broken devserver lint command
leeyi45 Oct 23, 2023
c18f60b
Merge commit '82dd645b1b226835d68ed0425fe641d017305e39' into module-e…
leeyi45 Oct 23, 2023
f3e1c4f
Add tests for sound bundle
leeyi45 Oct 23, 2023
155359f
Fix potential out of memory error
leeyi45 Oct 23, 2023
6ca9db5
Add code for husky hooks
leeyi45 Oct 23, 2023
244ffa5
Merge branch 'module-externalize' of github.com:source-academy/module…
leeyi45 Oct 26, 2023
b012b63
Update CI
leeyi45 Oct 26, 2023
b3cdfca
Fix broken and conflicting packages
leeyi45 Oct 26, 2023
bd562c3
Move checks from git hook to github actions
leeyi45 Oct 28, 2023
ed5877f
Update repl tab
leeyi45 Oct 28, 2023
df1fa9d
Update broken test
leeyi45 Oct 28, 2023
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: 2 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[*]
end_of_line = crlf
12 changes: 12 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## Standardize line encodings
## Src: https://docs.github.com/en/get-started/getting-started-with-git/configuring-git-to-handle-line-endings#per-repository-settings
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto

# Declare files that will always have CRLF line endings on checkout.
*.js text eol=crlf
*.ts text eol=crlf
*.tsx text eol=crlf
*.md text eol=crlf
*.cjs text eol=crlf
*.json text eol=crlf
92 changes: 46 additions & 46 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,46 @@
---
name: Bug Report
about: Use this template for highlighting bugs.
title: '[FEATURE NAME]: [BUG SUMMARY]'
labels: bug
---
# Prerequisites
Please answer the following questions for yourself before submitting an issue. **YOU MAY DELETE THE PREREQUISITES SECTION.**
- [ ] I am running the latest version
- [ ] I checked the documentation and found no answer
- [ ] I checked to make sure that this issue has not already been filed
# Expected Behavior
Please describe the behavior you are expecting
# Current Behavior
What is the current behavior?
# Failure Information (for bugs)
Please help provide information about the failure if this is a bug. If it is not a bug, please remove the rest of this template.
## Steps to Reproduce
Please provide detailed steps for reproducing the issue.
1. step 1
2. step 2
3. you get it...
## Context
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.
- Version used: <!-- Indicate the commit hash -->
- Browser Name and version:
- Operating System and version (desktop or mobile):
## Failure Logs
Please include any relevant log snippets or files here.
---
name: Bug Report
about: Use this template for highlighting bugs.
title: '[FEATURE NAME]: [BUG SUMMARY]'
labels: bug
---

# Prerequisites

Please answer the following questions for yourself before submitting an issue. **YOU MAY DELETE THE PREREQUISITES SECTION.**

- [ ] I am running the latest version
- [ ] I checked the documentation and found no answer
- [ ] I checked to make sure that this issue has not already been filed

# Expected Behavior

Please describe the behavior you are expecting

# Current Behavior

What is the current behavior?

# Failure Information (for bugs)

Please help provide information about the failure if this is a bug. If it is not a bug, please remove the rest of this template.

## Steps to Reproduce

Please provide detailed steps for reproducing the issue.

1. step 1
2. step 2
3. you get it...

## Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

- Version used: <!-- Indicate the commit hash -->
- Browser Name and version:
- Operating System and version (desktop or mobile):

## Failure Logs

Please include any relevant log snippets or files here.
30 changes: 15 additions & 15 deletions .github/ISSUE_TEMPLATE/documentation_request.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
name: Wiki Documentation Request
about: Use this template for requesting documentation on a feature in the wiki.
title: '[Wiki]: [FEATURE]'
labels: documentation
---
# Feature
Please briefly describe the feature that needs documentation.
## Checklist
- [ ] I checked the documentation and found that it does not already exist
- [ ] I checked to make sure that this issue has not already been filed
---
name: Wiki Documentation Request
about: Use this template for requesting documentation on a feature in the wiki.
title: '[Wiki]: [FEATURE]'
labels: documentation
---

# Feature

Please briefly describe the feature that needs documentation.

## Checklist

- [ ] I checked the documentation and found that it does not already exist
- [ ] I checked to make sure that this issue has not already been filed
64 changes: 32 additions & 32 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
# Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
## Type of change
Please delete options that are not relevant.
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update
# How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration.
- [ ] Test A
- [ ] Test B
# Checklist:
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

Fixes # (issue)

## Type of change

Please delete options that are not relevant.

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update

# How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration.

- [ ] Test A
- [ ] Test B

# Checklist:

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules
17 changes: 12 additions & 5 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,19 @@ jobs:
uses: actions/setup-node@v1
with:
node-version: '16.x'

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Run tests
run: yarn test && yarn test:scripts

- name: Build all
- name: Build bundles and tabs
run: yarn build --tsc --lint

- name: Test bundles and tabs
run: yarn test --color

- name: Test and lint scripts
run: yarn scripts:tsc && yarn scripts:lint && yarn scripts:test --color

- name: Check and Lint Devserver
run: yarn devserver:tsc && yarn devserver:lint

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@
###################
*~
node_modules/
devserver/node_modules
build/*
/package-lock.json
coverage/

scripts/build/database.json
scripts/bin.js

# Compiled source #
###################
Expand Down
2 changes: 1 addition & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

yarn build --tsc --lint
yarn test --color
2 changes: 1 addition & 1 deletion .husky/pre-push
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

yarn test
yarn build --lint --tsc
32 changes: 16 additions & 16 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
{
"configurations": [
{
"type": "node",
"name": "Test Scripts",
"request": "launch",
"args": [
"test",
"--runInBand",
"--config=${cwd}/scripts/src/jest.config.js"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"runtimeExecutable": "yarn"
}
]
{
"configurations": [
{
"type": "node",
"name": "Test Scripts",
"request": "launch",
"args": [
"test",
"--runInBand",
"--config=${cwd}/scripts/src/jest.config.js"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"runtimeExecutable": "yarn"
}
]
}
13 changes: 7 additions & 6 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"eslint.workingDirectories": [
"src",
"scripts/src"
],
"files.eol": "\r\n",
{
"eslint.workingDirectories": [
"src",
"scripts/src",
"devserver"
],
"files.eol": "\r\n",
}
4 changes: 2 additions & 2 deletions __mocks__/chalk.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
export default new Proxy({}, {
get: () => (input) => input,
export default new Proxy({}, {
get: () => (input) => input,
})
23 changes: 23 additions & 0 deletions devserver/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"root": true,
"env": { "browser": true, "es2020": true },
"extends": [ "../.eslintrc.base.cjs" ],
"ignorePatterns": ["dist", ".eslintrc.cjs"],
"parser": "@typescript-eslint/parser",
"plugins": ["react", "@typescript-eslint"],
"rules": {
"func-style": 0,
"no-empty-function": 0,
"@typescript-eslint/no-unused-vars": [
1, // Was 2
{
// vars: "all",
// args: "after-used",
// ignoreRestSiblings: false,
"argsIgnorePattern": "^_",
"caughtErrors": "all", // Was "none"
"caughtErrorsIgnorePattern": "^_"
}
]
}
}
5 changes: 5 additions & 0 deletions devserver/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Source Academy Tab Development Server

This server relies on [`Vite`](https://vitejs.dev) to create a server that automatically reloads when it detects file system changes. This allows Source Academy developers to make changes to their tabs without having to use the frontend, and have it render code changes live.

The server is designed to be run using `yarn devserver` from the repository's root directory, hence `vite.config.ts` is not located within this folder.
12 changes: 12 additions & 0 deletions devserver/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Source Academy Tab Development Server</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
Binary file added devserver/public/favicon.ico
Binary file not shown.
Binary file added devserver/src/assets/academy_background.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading